2010-07-09 150 views
1

我正在嘗試執行HTTP發佈請求。我的服務器運行的代碼在這裏在PHP中使用服務器代理的HTTP POST請求

<? 
$siteurl = $_REQUEST['address']; 
$postdata = ''; 
$fakeua = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)'; 

$ch = curl_init($siteurl); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, $fakeua); 
curl_setopt($ch, CURLOPT_TIMEOUT, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch); 

?> 

php腳本而我喜歡這個

$.ajax({ 
    url: 'http://localhost/server.php', 
    type: 'POST', 
    data: { 
     address: urlToPost 
    }, 
    success: function(response) { 
     window.console.log(response); 
    } 
}); 

調用這個在我的JS這是正確的嗎?這應該工作嗎?看起來我從請求中獲得200 OK,但有些事情是不正確的,因爲我是我正在執行POST請求的網站沒有顯示它。我正在通過串聯形成我的網址,只要我將它連接起來就可以了,對嗎?還是應該通過參數?

urlToPost += "&s=" + sessionID + "&a[0]=" + "Girls" + "&t[0]=" + "Laura" + "&i[0]=" + ts2 + "&o[0]=E" + "&r[0]=" + "&l[0]=" + "&b[0]=Album" + "&n[0]=" + "&m[0]="; 

回答

1

通過張貼到谷歌並檢查您是否得到結果來測試它。使用q=參數設置搜索項。

此外,1秒超時很短。

+0

嗯它只是返回一個空字符串 – Crothers 2010-07-09 20:29:34

+0

你檢查手動PHP腳本手動(沒有Ajax)?你是否調整了超時時間?在服務器有時間發送數據之前,curl可能會退出。 – 2010-07-09 20:47:40

+0

是的,我已將超時時間更改爲60秒。 – Crothers 2010-07-09 21:05:21