[php][curl] wysylanie naglowkow

0

Mam pytanie. Jak zmienić nagłówki wysyłane przez curl. Głównie chodzi mi tu o contect-type. Chodź ustawiam nagłówki niby na sztywno, to kiedy nagłówki wyswietlam wyskakuje
[...]Content-type: text/html X-powered-by: PHP/4.4.1 Transfer-encoding: chunked[...]
zamiast ustawionego
"Content-Type: application/x-www-form-urlencoded"

Skrypt ma na celu wysylanie smsa z bramki. Oto moj kod

<?php
$naglowki = array(
"Host: sms2.horrify.org",
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11",
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
"Accept-Language: pl,en-us;q=0.7,en;q=0.3",
"Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7",
"Keep-Alive: 300",
"Connection: keep-alive",
"Referer: http://sms.ikp.pl/?",
"Content-Type: application/x-www-form-urlencoded"
);

$curl = curl_init('http://sms2.horrify.org/');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_NOBODY, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $naglowki);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=send&siec=600&nr=&number2=000000&tresc=tekst&od=podp&wapacz=&x=0&y=0" );
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($curl, CURLOPT_POST, TRUE );

curl_exec($curl);
curl_close($curl);
?>
0

To co Ci się wyświetla, to nagłówki odpowiedzi serwera, a nie te co ort! wysyłasz.

0

Hmm dzięki.
Jest sposób na podejrzenie faktycznych nagłówków jakie wysyła client url ? W/w bramka wypluwa sie jezeli nie ustawi sie referera na taki jaki jest i tego content-type ofc :)
Kiedy zrobilem sobie w lamerski sposob po prostu formularz w htmlu i wyslalem postem pod ta strone (zmieniajac naglowki data tamperem czy tam livehttpheaders) to wszystko dzialo.

0
Vizzdoom napisał(a)

Jest sposób na podejrzenie faktycznych nagłówków jakie wysyła client url ?

Jeśli używasz firefoksa, to użyj livehttpheaders.

0

Albo na prawdę coś przeoczyłem (wszak chory jestem :) ) ale chyba nie bardzo.
Wszak to curl wysyla i sobie tam "w swoim srodku" przetrawia te strony, a nie przeglądarka i livehttpheaders tego nie przechwytuje. Jeżeli jestem w błędzie, poprawcie mnie (u mnie przynajmniej LHTTPH nie przechwytuje i wydaje mi sie to logiczne).

0
Vizzdoom napisał(a)

Albo na prawdę coś przeoczyłem (wszak chory jestem :) ) ale chyba nie bardzo.

Chyba masz rację - to mnie się pomerdało ;) No to nie ma możliwości przechwycenia tego, poza jakimś tcpdumpem...

0

skoro chcesz mieć pełną kontrole i ustawiasz nagłówki na sztywno to czemu ich nie wyślesz przez fsockopen
właściwie na siłę w tym przypadku korzystasz z curla tylko wydłużając sobie kod

0

Jednak czasem najtrudniej wpaść na najprostsze rozwiązania :) Faktycznie zapomniałem o tcpdumpie.

Co do fsockopen czy curla - i tak i tak mi nie działa, chodź nagłówki wydaje się, że są wysłane poprawnie. Może to kiedyś rozgryzę :P

0

Przed chwilą sam wykorzystałem taki sposób:
ustawiam CURLOPT_VERBOSE => 1, i uruchamiam skrypt testowy jako cli, nie przez interfejs webowy. Ładnie pokazuje wysyłane nagłówki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1