2017-07-07 53 views
0

我無法得到它連接我phpspiders不能運行使用PHP捲曲我的蜘蛛槽scrapy雲

$url = 'https://app.scrapinghub.com/api/jobs/list.json'; 
$ch = curl_init(); 
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1, 
CURLOPT_FOLLOWLOCATION => 1, 
CURLOPT_HEADER => 1, 
CURLOPT_URL => $url, 

CURLOPT_POST => 1, 
CURLOPT_POSTFIELDS => array(
    'project' => 'projecid', 
    'spider' => 'spiderid', 
), 

CURLOPT_USERPWD => "apikey") 

); 
$response = curl_exec($ch); 
curl_close($ch); 

echo '<pre>'; 
print $response; 
echo '</pre>'; 

返回:

HTTP/1.1 100 Continue 

HTTP/1.1 400 method not allowed 
Server: nginx/1.10.1 
Date: Fri, 07 Jul 2017 07:24:02 GMT 
Content-Type: application/json 
Content-Length: 57 
Connection: keep-alive 
Vary: Cookie 
Set-Cookie: csrftoken2=67xgaAQB9ytsIYNxseDFAIUzkCivPZMda74Hvg7UNMp6iD3zALRDWP6zhknxiEIP; Domain=.scrapinghub.com; expires=Fri, 06-Jul-2018 07:24:02 GMT; Max-Age=31449600; Path=/; Secure 
X-Upstream: dash-master_apiv1 

{"status": "badrequest", "message": "method not allowed"} 

它說bad request意味着我我的url錯了,但在文檔中說它應該是這樣的,或者我發錯了我的apikey

請幫我在這裏謝謝。

回答

0

您正在發送POST請求scrapinghub這就是badrequest狀態的message狀態爲method not allowed。相反,你可以嘗試發送一個GET請求通過PHP curl像這樣

$url = 'https://app.scrapinghub.com/api/jobs/list.json'; 
$ch = curl_init(); 
$curl_opts = array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_FOLLOWLOCATION => 1, 
    CURLOPT_HEADER => 1, 
    CURLOPT_URL => $url."?project=projectid&spider=spiderid", 
    CURLOPT_USERPWD => "apikey" 
); 
curl_setopt_array($ch, $curl_opts); 
$response = curl_exec($ch); 
curl_close($ch); 

echo '<pre>'; 
print $response; 
echo '</pre>';