php中用來獲取網頁的途徑主要有三個:
1 file_get_content 這個最簡單,也最快,但不能構造http header頭資訊等
2 fscokopen
3 使用curl庫,
php 利用 curl 登入,並把cookie 值記錄在該檔案目錄下的 .tmp 檔案供下面使用;
等登入後,就可以獲得網頁的資訊。curl 的引數可以自己設定(參考文件)。
**如下:
<?php
$login_url = '';
$login_request = 'user=username&pass=123456&submit=login';
$after_login_url = '';
$cookie_jar = tempnam('./本檔案所在的資料夾/', 'cookie');
$ch = curl_init();
curl_setopt($ch, curlopt_url, $login_url);
curl_setopt($ch, curlopt_post, 1);
curl_setopt($ch, curlopt_postfields, $login_request);
//把返回來的cookie資訊儲存在$cookie_jar檔案中
curl_setopt($ch, curlopt_cookiejar, $cookie_jar);
//設定返回的資料是否自動顯示
curl_setopt($ch, curlopt_returntransfer, 1);
//設定是否顯示頭資訊
curl_setopt($ch, curlopt_header, false);
//設定是否輸出頁面內容
curl_setopt($ch, curlopt_nobody, false);
curl_exec($ch);
curl_close($ch);
//get data after login
$ch2 = curl_init();
curl_setopt($ch2, curlopt_url, $after_login_url);
curl_setopt($ch2, curlopt_header, false);
curl_setopt($ch2, curlopt_returntransfer, 1);
curl_setopt($ch2, curlopt_cookiefile, $cookie_jar);
$orders = curl_exec($ch2);
echo '
';';echo strip_tags($orders);
echo '
curl_close($ch2);
?>
方法2用fsockopen:
$response = getwebcontent("$host","post /$login_page http/1.0", $str);//登入得到新的session_id
//...可以在這裡先儲存session_id
$response = getwebcontent("$host","get /$somepage http/1.0", '''', $response[''sessid'']);//使用session_id訪問頁面
echo $response[''location''].$response[''content'']."
";?>
<?php
/*
用php程式如何模擬使用者登入yahoo空間(所謂的「模擬使用者登入」是指用寫支php程式模擬使用者登入
的過程。
*/
//登陸成功則會提示succeed 失敗則自動轉向yahoo出錯頁
loginyahoo('[email protected]','******');
function loginyahoo($user,$pass)else
}
?>
第三方平台API呼叫
其實都遵守乙個協議,一直想寫篇總結來著,突然對著螢幕就沒什麼好說的了 就是兩點,第一獲取令牌,第二用令牌去換取資訊 第一次多用key或者key srect,得到的是token 第二次 用token去呼叫令牌 傳送的請求有2中,post get 罷了其實這就是精髓 第一獲取令牌,第二用令牌去換取資訊 ...
android 第三方SDK接入一般流程
1 官方文件必看 官方文件接入一般包括常規接入和自定義接入。這裡的建議是 先常規接入,跑起來,並測試正常之後,然後實現自定義的接入。目前我接入過的包括 常用的支付,地圖,推送,分享,熱更新,功能性sdk等等 2 官方的demo 官方demo的意義在於,給我們展示了完整的接入工程,我們可以對著來看。但...
iOS之第三方FMDB框架運算元據庫
fmdb的原始碼新增完畢後,然後刪除fmdb.m 這是作者提供工程的入口類,有興趣的朋友可以自行研究,我們只學習如何使用這個框架。目前程式是無法編譯通過的,因為缺少類庫檔案,如下圖所示,請將libsqlite3.0dylib新增至工程。類庫檔案新增完畢後,到這一步工程就應該可以正常編譯了。如果到這一...