亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

未將對象引用設置到對象的實例?我也是這個問題

正在回答

5 回答

二樓的可以解決,但是不知道為什么!

0 回復 有任何疑惑可以回復我~
#1

流浪滴汪汪汪

我猜是服務器是為了防止爬蟲之類的不停地訪問影響正常使用,所以對于不是瀏覽器訪問的訪問都不予處理了吧。而加上了USERAGENT,服務就會認為你是一個來自瀏覽器的訪問,是一個正常的訪問,就可以正常使用了。
2016-12-21 回復 有任何疑惑可以回復我~

添加 curl_setopt($curlobj, CURLOPT_USERAGENT, "user-agent:Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0"); ?即可

1 回復 有任何疑惑可以回復我~
#1

慕沐2779526

想問一下,為什么加上這句就OK了呢?
2015-09-30 回復 有任何疑惑可以回復我~

curl_setopt ( $curl_obj, CURLOPT_USERAGENT, 瀏覽器UA可自行填寫);

0 回復 有任何疑惑可以回復我~

首先我用html的form測試可以獲取到信息,說明服務端沒有問題

然后我獲取自己寫的一個1.php,可以抓取到POST信息,說明代碼一般是可以抓取到信息的。

猜測問題出在服務端對header進行了檢測,

那么嘗試加上user-agent

添加以下代碼

curl_setopt ( $curl_obj, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

成功獲取到數據。


完整代碼如下:

<?php
????$data?=?'theCityName=北京';
????$curl_obj?=?curl_init();?//?初始化
????$url?=?'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName';
????$url2?=?'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince';
????$url3?=?'http://localhost/1110/1.php';
????curl_setopt($curl_obj,?CURLOPT_URL,?$url);?//?設置訪問URL
????curl_setopt?(?$curl_obj,?CURLOPT_USERAGENT,?$_SERVER['HTTP_USER_AGENT']);
????curl_setopt($curl_obj,?CURLOPT_HEADER,?0);?//?啟用時會將頭文件的信息作為數據流輸出
????curl_setopt($curl_obj,?CURLOPT_RETURNTRANSFER,?1);?//?執行之后不直接打印出來
????//?curl_setopt($curl_obj,?CURLOPT_POST,count($data));
????curl_setopt($curl_obj,?CURLOPT_POST,?1);?//?啟用時會發送一個常規的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
????curl_setopt($curl_obj,?CURLOPT_POSTFIELDS,?$data);?//?全部數據使用HTTP協議中的"POST"操作來發送。要發送文件,在文件名前面加上@前綴并使用完整路徑。這個參數可以通過urlencoded后的字符串類似'para1=val1&para2=val2&...'或使用一個以字段名為鍵值,字段數據為值的數組。如果value是一個數組,Content-Type頭將會被設置成multipart/form-data。
????curl_setopt($curl_obj,?CURLOPT_HTTPHEADER,?array(
????????????'Content-Type:?application/x-www-form-urlencoded;',
????????????'Content-length:'.strlen($data)
????????????));
????$rtn?=?curl_exec($curl_obj);?//?執行
????if?(!curl_errno($curl_obj))?{
????????echo?$rtn;
????}?else?{
????????echo?'Curl?error:?'?.?curl_errno($curl_obj);
????}
????curl_close($curl_obj);?//?關閉資源
?>


1 回復 有任何疑惑可以回復我~

我這里也是這個問題,用form提交的post就沒有這個問題.

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號