當然,我已經閱讀了這個問題的幾個問題,但我不得不說,它根本不適用於我。我所要做到的是通過CURL發送「X-Requested-With:XMLHttpRequest」和其他頭文件 - 其他方式?
- 發送「X-要求 - 由於:XMLHttpRequest的」通過PHP頭和捲曲
- 通過PHP發送其他HTTP請求頭和捲曲
提供的解決方案沒」爲我工作。
我怎麼知道我沒有發送正確的http請求頭?
只需通過
(1)比較受的XMLHttpRequest(觸發JQuery的點擊)以及由PHP和捲曲在Firefox模擬插件直播HTTP頭
(2)的print_r產生真正的標頭()目標腳本中的$ _SERVER變量
我得到的結果不正確/低於我的預期?
首先,也是最重要的: Firefox的活HTTP頭沒有抓住我的頭文件(就像他們不存在)。
二,通過的print_r($ _ SERVER):
,如果我得到的模擬頭部的任何東西,我得到[HTTP_X_REQUESTED_WITH] => XMLHttpRequest
- 不是:[X_REQUESTED_WITH] => XMLHttpRequest
。 這個問題幾乎對於我通過curl_setopt($ ch,CURLOPT_HTTPHEADER,$ curl_header)發送的任何頭文件依然存在 - 任何頭文件都以'HTTP'('Header1:value1' - 'HTTP_HEADER1')爲前綴。
我使用PHP版本5.4.7,CURL 7.24.0的XAMPP。
之前,我問,如果我想要做到的是可能或可能不會與提前反應表示感謝,這不是壞主意,提供我的代碼 - 的,我試過很多代碼解決方案之一。
$curl_header = array('X-Requested-With: XMLHttpRequest');
$data = "name=miloshio"; // just to be sure I'm doing the POST request
$ch = curl_init('http://example.com/test.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $curl_header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
echo $result;
我的問題和:
- 是否可以準確地發送 'X-要求 - 由於:XMLHttpRequest的' 頭通過PHP和捲曲?
- 是否可以避免附加'HTTP_'前綴到自定義標頭 由PHP發送和curl?
- 在使用PHP和curl的問題上是否存在衆所周知的侷限性?
你的方法幫了我很多。我僞造了一個使用URL和PHP和你的代碼的xmlhttprequest。 +1 –