PHP中的这篇cURL帖子与直接的HTML帖子有什么问题?

时间:2011-04-28 20:36:12

标签: php curl

以下HTML表单成功发布到远程外部服务器,但PHP脚本中稍微更安全的cURL帖子失败。我没有通过我的脚本收到任何错误信息,并且远程方无法提供任何错误信息,所以我的问题实际上归结为两个帖子请求之间的关键区别是什么。

获胜者:

<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 :(得分:0)

尝试这个逻辑,它有助于调整curl请求。主要是CURLOPT_RETURNTRANSFERcurl_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
}

答案 1 :(得分:0)

1。)POST to Action:http://wow.aspx:所以curl_init('http://wow.aspx');

2。)使用REFERER:curl_setopt($ch, CURLOPT_REFERER, 'http://nowbitch.aspx');