iami233
iami233
文章175
标签37
分类4

文章分类

文章归档

PHP使用CURL模拟GET和POST请求

PHP使用CURL模拟GET和POST请求

最近在写短视频去水印(https://lab.5ime.cn/video) 记录一下常用的Curl

GET请求

1
2
3
4
5
6
7
8
9
10
11
12
function Get_curl($url)
{
$Header=array( "User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
$ch=curl_init((string)$url);
curl_setopt($ch,CURLOPT_HEADER,False);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,False);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HTTPHEADER,$Header);
curl_setopt($ch,CURLOPT_TIMEOUT,5000);
$result = curl_exec($ch);
return $result;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function Get_curl($url) {
$ip = rand(0, 255) . '.' . rand(0, 255) . '.' . rand(0, 255) . '.' . rand(0, 255);
$header[] = "accept: application/json";
$header[] = "accept-encoding: gzip, deflate, br";
$header[] = "accept-language: en-US,en;q=0.8";
$header[] = "content-type: application/json";
$header[] = "Referer: ". $url;
$header[] = "CLIENT-IP:" . $ip;
$header[] = "X-FORWARDED-FOR:" . $ip;
$cookie = "cookie";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//设置传输的 url
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//发送 http 报头
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
//设置Cookie
curl_setopt($ch, CURLOPT_REFERER, $url);
//设置Referer
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
//设置请求UA
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
// 解码压缩文件
//curl_setopt($ch, CURLOPT_COOKIEJAR, "./cookie/cookie.txt");//保存cookie文件
//curl_setopt($ch, CURLOPT_COOKIEFILE, "./cookie/cookie.txt"); //调用cookie文件
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// 设置超时限制防止死循环
$output = curl_exec($ch);
curl_close($ch);
return $output;
}

POST请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Post_curl($url , $post_data = array("msg" => "123","data" => "456",)){
$Header=array( "User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_HTTPHEADER,$Header);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
$response = curl_exec($ch);
curl_close($ch);
return $response;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function Post_curl($url) {
$ip = rand(0, 255) . '.' . rand(0, 255) . '.' . rand(0, 255) . '.' . rand(0, 255);
$header[] = "accept: application/json";
$header[] = "accept-encoding: gzip, deflate, br";
$header[] = "accept-language: en-US,en;q=0.8";
$header[] = "content-type: application/json";
$header[] = "Referer: ". $url;
$header[] = "CLIENT-IP:" . $ip;
$header[] = "X-FORWARDED-FOR:" . $ip;
$cookie = "cookie";
$post_data = array(
"msg" => "123",
"data" => "456"
);
//$post_data = "{\"pid\":".$video_id.",\"type\":\"post\",\"mid\":null}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//设置传输的 url
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//发送 http 报头
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
//设置Cookie
curl_setopt($ch, CURLOPT_REFERER, $url);
//设置Referer
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
//设置请求UA
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
// 解码压缩文件
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// 设置超时限制防止死循环
curl_setopt($ch, CURLOPT_POST, 1);
//设置POST发送数据
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//发送POST数据内容
//curl_setopt($ch, CURLOPT_COOKIEJAR, "./cookie/cookie.txt");//保存cookie文件
//curl_setopt($ch, CURLOPT_COOKIEFILE, "./cookie/cookie.txt"); //调用cookie文件
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
本文作者:iami233
本文链接:https://5ime.cn/curl.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可