Что плохого в этом посте cURL в PHP по сравнению с обычным постом HTML? - PullRequest
0 голосов
/ 29 апреля 2011

Следующая HTML-форма успешно отправляет сообщения на удаленный внешний сервер, но моя чуть более безопасная запись cURL из сценария PHP не удалась. Я не получаю никакой информации об ошибках через мой сценарий, и удаленная сторона не смогла предоставить какую-либо информацию, поэтому мой вопрос сводится к тому, какова критическая разница между двумя запросами на публикацию.

Победитель:

<form name="frm" action="http://wow.aspx" method="post">
<input type="HIDDEN" name="q1" value="charlesmanson">
<input type="HIDDEN" name="q2" value="batman@home.net">
<input type="HIDDEN" name="q3" value="20110428092741">
<input type="HIDDEN" name="q4" value="6E1AAB44-7508-4BF4-ADA8-0535E880A996">
<input type="submit" value="Go for it!" />
</form>

И проигравший:

$curlSession = curl_init('http://nowbitch.aspx');
curl_setopt ($curlSession, CURLOPT_POST, 1);
curl_setopt ($curlSession, CURLOPT_POSTFIELDS, "q1=$userLogin&q2=$userRecord[email]&q3=$timeStamp&q4=$hash");
curl_setopt ($curlSession, CURLOPT_FOLLOWLOCATION, 1);
curl_exec ($curlSession);
curl_close ($curlSession);

Реальные параметры были потеряны для защиты виновных.

Ответы [ 2 ]

0 голосов
/ 11 мая 2011

1.) POST к действию: http://wow.aspx:, поэтому curl_init('http://wow.aspx');

2.) Используйте REFERER: curl_setopt($ch, CURLOPT_REFERER, 'http://nowbitch.aspx');

0 голосов
/ 29 апреля 2011

Попробуйте эту логику, она облегчит отладку запросов curl. Основным является CURLOPT_RETURNTRANSFER и curl_getinfo.

$ch = curl_init();
...

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
$info = curl_getinfo($ch);

if ($result === false || $info['http_code'] != 200) {
    // ERROR
} else {
    // OK
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...