① php使用curl抓取一個網站的內容被拒絕
剛寫的。希望有用
<?php
$binfo=array('Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0;.NETCLR2.0.50727;InfoPath.2;AskTbPTV/5.17.0.25589;AlexaToolbar)','Mozilla/5.0(WindowsNT5.1;rv:22.0)Gecko/20100101Firefox/22.0','Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0;.NET4.0C;AlexaToolbar)','Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)',$_SERVER['HTTP_USER_AGENT']);
//218.242.124.16*
//125.90.88.*
$cip='218.242.124.'.mt_rand(0,254);
$xip='218.242.124.'.mt_rand(0,254);
$header=array(
'CLIENT-IP:'.$cip,
'X-FORWARDED-FOR:'.$xip,
);
functiongetimgs($url,$data,$userinfo,$header)
{
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,"$url");
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_REFERER,"http://www.sgs.gov.cn/lz/etpsInfo.do?method=index");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_USERAGENT,"$userinfo");
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$contents=curl_exec($ch);
curl_close($ch);
return$contents;
}
$url='http://www.sgs.gov.cn/lz/etpsInfo.do?method=doSearch';
$u=$binfo[mt_rand(0,3)];
$data=array(
'keyWords'=>'上海科波',
'searchType'=>'1'
);
$html=(getimgs($url,$data,$u,$header));
//替換鏈接地址
$html=str_replace('href="#"','href="http://www.sgs.gov.cn/lz/etpsInfo.do?method=doSearch#"',$html);
echo$html;
?>
② 如何在PHP 5中添加curl
1:在php.ini中 找到;extension=php_curl.dll 去掉前面分號
2:把php 目錄中的libeay32.dll,ssleay32.dll拷到c:\windows\system32裡面
3:重啟apache
③ PHP如何開啟curl
開啟php curl函數庫的步驟
1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini的路徑*/
2).把php5/libeay32.dll,ssleay32.dll復制到系統目錄windows/下
3).重啟apache
配置php支持curl
curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理伺服器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理伺服器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理伺服器, 通過http代理伺服器上傳文件到FTP伺服器等等,功能十分強大。Windows操作系統下的網路螞蟻,網際快車(FlashGet)的功能它都可以做到。准確的說,curl支持文件的上傳和下載,所以是一個綜合傳輸工具,但是按照傳統,用戶習慣稱curl為下載工具。
配置方法:
1、拷貝PHP目錄中的libeay32.dll 和 ssleay32.dll 兩個文件到 system32 目錄。
2、修改php.ini:配置好 extension_dir ,去掉 extension = php_curl.dll 前面的分號。
---------------------------
php下擴展php_curl.dll的安裝
---------------------------
已經內置有php_curl.dll,在ext目錄下,此DLL用於支持SSL和zlib.
在php.ini中找到有extension=php_curl.dll, 去掉前面的注釋.
設置extension_dir=c:phpext, 刷新PHP頁面時報錯, 說找不到模塊php_curl.dll.
拷貝php_curl.dll 到windowssystem32,還是同樣的錯.
在網上找了一下,需要將:
libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷貝到system32目錄下,重啟IIS即可.
④ 如何用PHP連接 curl方式的介面
-H表示curl命令的header,對應php中可以使用:
$header=array(
"X-Udemy-Client-Id:MYCLIENTID",
"X-Udemy-Client-Secret:MYCLIENTSECRET",
);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);//$ch=curl_init($url);
更多關於curl的應用可以參考我的博客《PHPcURL應用》
http://www.zjmainstay.cn/php-curl
⑤ 如何php開啟CURL支持
在安裝一些PHP網站的時候,會提示要求開啟curl_getinfo()函數支持功能,否則網站無法安裝,在網上找了一些資料,試了好多次終於將curl_getinfo()的功能開啟,下面介紹一下開啟的具體過程。
工具/原料
php.ini
方法/步驟
首先打開php.ini文件,一般默認放在C盤windows目錄下。
在php.ini文件夾下,查找extension=php_curl.dll,找到後,把它前面的分號去掉,讓它起作用。
然後再查找extension_dir=,看看後面的地址指向哪個文件夾,然後打開這個文件夾。
從這個php5文件夾中找到libeay32.dll, ssleay32.dll,這兩個文件,然後把這兩個文件拷貝到c盤windows里的system32文件中。
5
重新啟動系統就可以了,網上說只要重啟iis或apcha等,但試了好像不靈,果斷重啟都可以了。
⑥ php5-curl如何安裝
這是一個擴展模塊,配置文件找到,去掉前面的分號就可以了
⑦ php curl post抓取數據顯示405,求大家解決
請問樓主解決了嗎?我現在也遇到這樣的問題,一使用 curl的post就 405,都弄了一天了,還沒解決
⑧ 如何在php中獲取curl請求的請求頭信息及相應頭信息
<?php
$url='http://demo.zjmainstay.cn';
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_HEADER,true);//返回頭信息
curl_setopt($ch,CURLOPT_NOBODY,true);//不返回內容
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//返回數據不直接輸出
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;
更多關於phpcURL的內容,請參考我的博客《PHPcURL應用》
http://www.zjmainstay.cn/php-curl
⑨ PHP的curl模擬·登錄老是失敗出現了405錯誤
405 是指請求的 URL 不支持請求的方法, htm(除偽靜態)是靜態頁面,是只能使用 get 方法的,而你要登錄,要用post,而你這里也確實是用的 post,那麼我覺得你應該是 URL 取錯了。像這種 post 的地址都要是有程序處理的,你再回去看看原來頁面中 form 上的 action 地址吧