$html = file_get_contents ( 'http://www.baidu.com' ); |
print_r( $http_response_header ); |
$fp = fopen ( 'http://www.baidu.com' , 'r' ); |
print_r(stream_get_meta_data( $fp )); |
fclose( $fp ); |
$url = 'http://192.168.1.1/test.php' ; |
$data = array ( |
'keyword' => 'test data' , |
); |
$content = http_build_query( $data ); |
$content_length = strlen ( $content ); |
$options = array ( |
'http' => array ( |
'method' => 'post' , |
'header' => |
"content-type: application/x-www-form-urlencoded\r\n" . |
"content-length: $content_length\r\n" , |
'content' => $content |
) |
); |
echo file_get_contents ( $url , false, stream_context_create( $options )); |
<?php |
function geturl( $url ){ |
$headerarray = array ( "content-type:application/json;" , "accept:application/json" ); |
$ch = curl_init(); |
curl_setopt( $ch , curlopt_url, $url ); |
curl_setopt( $ch , curlopt_ssl_verifypeer, false); |
curl_setopt( $ch , curlopt_ssl_verifyhost, false); |
curl_setopt( $ch , curlopt_returntransfer, 1); |
curl_setopt( $ch ,curlopt_httpheader, $headerarray ); |
$output = curl_exec( $ch ); |
curl_close( $ch ); |
$output = json_decode( $output ,true); |
return $output ; |
} |
|
|
function posturl( $url , $data ){ |
$data = json_encode( $data ); |
$headerarray = array ( "content-type:application/json;charset='utf-8'" , "accept:application/json" ); |
$curl = curl_init(); |
curl_setopt( $curl , curlopt_url, $url ); |
curl_setopt( $curl , curlopt_ssl_verifypeer, false); |
curl_setopt( $curl , curlopt_ssl_verifyhost,false); |
curl_setopt( $curl , curlopt_post, 1); |
curl_setopt( $curl , curlopt_postfields, $data ); |
curl_setopt( $curl ,curlopt_httpheader, $headerarray ); |
curl_setopt( $curl , curlopt_returntransfer, 1); |
$output = curl_exec( $curl ); |
curl_close( $curl ); |
return json_decode( $output ,true); |
} |
|
|
function puturl( $url , $data ){ |
$data = json_encode( $data ); |
$ch = curl_init(); //初始化curl句柄 |
curl_setopt( $ch , curlopt_url, $url ); //设置请求的url |
curl_setopt ( $ch , curlopt_httpheader, array ( 'content-type:application/json' )); |
curl_setopt( $ch , curlopt_returntransfer,1); //设为true把curl_exec()结果转化为字串,而不是直接输出 |
curl_setopt( $ch , curlopt_customrequest, "put" ); //设置请求方式 |
curl_setopt( $ch , curlopt_postfields, $data ); //设置提交的字符串 |
$output = curl_exec( $ch ); |
curl_close( $ch ); |
return json_decode( $output ,true); |
} |
|
function delurl( $url , $data ){ |
$data = json_encode( $data ); |
$ch = curl_init(); |
curl_setopt ( $ch ,curlopt_url, $put_url ); |
curl_setopt ( $ch , curlopt_httpheader, array ( 'content-type:application/json' )); |
curl_setopt ( $ch , curlopt_returntransfer, 1); |
curl_setopt ( $ch , curlopt_customrequest, "delete" ); |
curl_setopt( $ch , curlopt_postfields, $data ); |
$output = curl_exec( $ch ); |
curl_close( $ch ); |
$output = json_decode( $output ,true); |
} |
|
function patchurl( $url , $data ){ |
$data = json_encode( $data ); |
$ch = curl_init(); |
curl_setopt ( $ch ,curlopt_url, $url ); |
curl_setopt ( $ch , curlopt_httpheader, array ( 'content-type:application/json' )); |
curl_setopt ( $ch , curlopt_returntransfer, 1); |
curl_setopt ( $ch , curlopt_customrequest, "patch" ); |
curl_setopt( $ch , curlopt_postfields, $data ); //20170611修改接口,用/id的方式传递,直接写在url中了 |
$output = curl_exec( $ch ); |
curl_close( $ch ); |
$output = json_decode( $output ); |
return $output ; |
} |
?> |
function sendcurl( $url , $data = null, $method = 'post' ) |
{ |
$method = strtoupper ( $method ); |
$start_wdmcurl_time = microtime(true); |
|
$header = array ( ' application/x-www-form-urlencoded' ); |
$ch = curl_init(); |
curl_setopt( $ch , curlopt_url, $url ); |
curl_setopt( $ch , curlopt_failonerror, false); |
// https 请求 |
if ( strlen ( $url ) > 5 && strtolower ( substr ( $url , 0, 5)) == "https" ) |
{ |
curl_setopt( $ch , curlopt_ssl_verifypeer, false); |
curl_setopt( $ch , curlopt_ssl_verifyhost, false); |
} |
if ( $method == 'get' ){ |
if ( $data && is_array ( $data ) && count ( $data )>0 ){ |
$url .= "?" .http_build_query( $data ); |
} |
curl_setopt( $ch , curlopt_url, $url ); |
} elseif ( $method == 'post' ){ |
curl_setopt( $ch , curlopt_post, 1); |
curl_setopt( $ch , curlopt_postfields, $data ); |
if ( is_array ( $data ) && count ( $data )>0) |
{ |
curl_setopt( $ch , curlopt_post, true); |
$ispostmultipart = false; |
foreach ( $data as $k => $v ) |
{ |
if ( '@' == substr ( $v , 0, 1)) |
{ |
$ispostmultipart = true; |
break ; |
} |
} |
unset( $k , $v ); |
if ( $ispostmultipart ) { |
curl_setopt( $ch , curlopt_postfields, $data ); |
} else { |
curl_setopt( $ch , curlopt_postfields, http_build_query( $data )); |
} |
} |
} elseif (in_array( $method ,[ 'put' , 'delete' , 'patch' ])){ |
curl_setopt( $ch , curlopt_customrequest, $method ); |
curl_setopt( $ch , curlopt_postfields, $data ); |
} |
curl_setopt( $ch , curlopt_returntransfer, 1); |
curl_setopt( $ch ,curlopt_httpheader, $header ); |
$reponse = curl_exec( $ch ); |
curl_close( $ch ); |
return $reponse ; |
} |
composer require guzzlehttp/guzzle |
$client = new \guzzlehttp\client(); |
$response = $client ->request( 'get' , 'https://api.github.com/repos/guzzle/guzzle' ); |
|
echo $response ->getstatuscode(); // 200 |
echo $response ->getheaderline( 'content-type' ); // 'application/json; charset=utf8' |
echo $response ->getbody(); // '{"id": 1420053, "name": "guzzle", ...}' |
|
// send an asynchronous request. |
$request = new \guzzlehttp\psr7\request( 'get' , 'http://httpbin.org' ); |
$promise = $client ->sendasync( $request )->then( function ( $response ) { |
echo 'i completed! ' . $response ->getbody(); |
}); |
|
$promise ->wait(); |