GET行为比较简单,POST比较复杂一些。这里提供两种方法供选择:第一:手写代码。第二:利用HttpClient php类库
第一种方法:
PHP代码
<?PHP
$argv = array(
//构造要post的字符串
foreach ($argv as $key=>$value) {
fclose($fp);
?>
第二种方法是:使用httpclient类
PHP代码
$pageContents = HttpClient::quickPost('http://example.com/someForm', array(
));
使用httpclient类库,可以去官方下载最新的类库,官方地址为:http://scripts.incutio.com/httpclient/index.php
附加一些点php httpclient的其他几个用法
静态方法获取网页:
PHP代码
$pageContents = HttpClient::quickGet('http://example.com/');
Get方法获取
PHP代码
$client = new HttpClient('example.com');
if (!$client->get('/')) {
}
$pageContents = $client->getContent();
带调试的Get方法获取
PHP代码
$client = new HttpClient('example.com');
$client->setDebug(true);
if (!$client->get('/')) {
}
$pageContents = $client->getContent();
带自动转向的Get方法
PHP代码
$client = new HttpClient('www.amazon.com');
$client->setDebug(true);
if (!$client->get('/')) {
}
$pageContents = $client->getContent();
检查页面是否存在
PHP代码
$client = new HttpClient('example.com');
$client->setDebug(true);
if (!$client->get('/thispagedoesnotexist')) {
}
if ($client->getStatus() == '404') {
}
$pageContents = $client->getContent();
伪造客户端
PHP代码
$client = new HttpClient('example.com');
$client->setDebug(true);
$client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207');
if (!$client->get('/')) {
}
$pageContents = $client->getContent();
登录验证并请求一个网页
PHP代码
$client = new HttpClient('example.com');
$client->post('/login.php', array(
));
if (!$client->get('/private.php')) {
}
$pageContents = $client->getContent();
HTTP授权
PHP代码
$client = new HttpClient('example.com');
$client->setAuthorization('Username', 'Password');
if (!$client->get('/')) {
}
$pageContents = $client->getContent();
输出头信息
PHP代码
$client = new HttpClient('example.com');
if (!$client->get('/')) {
}
print_r($client->getHeaders());
设置一个域内重定向最多次数
PHP代码
$client = new HttpClient('www.amazon.com');
$client->setDebug(true);
$client->setMaxRedirects(3);
$client->get('/');