phphttpsget
1. php网址_GET取值
$_GET["goods_id"]
2. 怎么php发送get请求给java,然后返回想要的具体参数
curl请求java接口,接口返回值后进行相关操作,给你贴一个curl的代码
functionihttp_request($url,$post='',$extra=array(),$timeout=60){
$urlset=parse_url($url);
if(empty($urlset['path'])){
$urlset['path']='/';
}
if(!empty($urlset['query'])){
$urlset['query']="?{$urlset['query']}";
}
if(empty($urlset['port'])){
$urlset['port']=$urlset['scheme']=='https'?'443':'80';
}
if(strexists($url,'https://')&&!extension_loaded('openssl')){
if(!extension_loaded("openssl")){
message('请开启您PHP环境的openssl');
}
}
if(function_exists('curl_init')&&function_exists('curl_exec')){
$ch=curl_init();
if(ver_compare(phpversion(),'5.6')>=0){
curl_setopt($ch,CURLOPT_SAFE_UPLOAD,false);
}
if(!empty($extra['ip'])){
$extra['Host']=$urlset['host'];
$urlset['host']=$extra['ip'];
unset($extra['ip']);
}
curl_setopt($ch,CURLOPT_URL,$urlset['scheme'].'://'.$urlset['host'].($urlset['port']=='80'?'':':'.$urlset['port']).$urlset['path'].$urlset['query']);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
@curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_HEADER,1);
@curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
if($post){
if(is_array($post)){
$filepost=false;
foreach($postas$name=>$value){
if((is_string($value)&&substr($value,0,1)=='@')||(class_exists('CURLFile')&&$valueinstanceofCURLFile)){
$filepost=true;
break;
}
}
if(!$filepost){
$post=http_build_query($post);
}
}
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
}
if(!empty($GLOBALS['_W']['config']['setting']['proxy'])){
$urls=parse_url($GLOBALS['_W']['config']['setting']['proxy']['host']);
if(!empty($urls['host'])){
curl_setopt($ch,CURLOPT_PROXY,"{$urls['host']}:{$urls['port']}");
$proxytype='CURLPROXY_'.strtoupper($urls['scheme']);
if(!empty($urls['scheme'])&&defined($proxytype)){
curl_setopt($ch,CURLOPT_PROXYTYPE,constant($proxytype));
}else{
curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL,1);
}
if(!empty($GLOBALS['_W']['config']['setting']['proxy']['auth'])){
curl_setopt($ch,CURLOPT_PROXYUSERPWD,$GLOBALS['_W']['config']['setting']['proxy']['auth']);
}
}
}
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSLVERSION,1);
if(defined('CURL_SSLVERSION_TLSv1')){
curl_setopt($ch,CURLOPT_SSLVERSION,CURL_SSLVERSION_TLSv1);
}
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1;WOW64;rv:9.0.1)Gecko/20100101Firefox/9.0.1');
if(!empty($extra)&&is_array($extra)){
$headers=array();
foreach($extraas$opt=>$value){
if(strexists($opt,'CURLOPT_')){
curl_setopt($ch,constant($opt),$value);
}elseif(is_numeric($opt)){
curl_setopt($ch,$opt,$value);
}else{
$headers[]="{$opt}:{$value}";
}
}
if(!empty($headers)){
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
}
}
$data=curl_exec($ch);
$status=curl_getinfo($ch);
$errno=curl_errno($ch);
$error=curl_error($ch);
curl_close($ch);
if($errno||empty($data)){
returnerror(1,$error);
}else{
returnihttp_response_parse($data);
}
}
$method=empty($post)?'GET':'POST';
$fdata="{$method}{$urlset['path']}{$urlset['query']}HTTP/1.1 ";
$fdata.="Host:{$urlset['host']} ";
if(function_exists('gzdecode')){
$fdata.="Accept-Encoding:gzip,deflate ";
}
$fdata.="Connection:close ";
if(!empty($extra)&&is_array($extra)){
foreach($extraas$opt=>$value){
if(!strexists($opt,'CURLOPT_')){
$fdata.="{$opt}:{$value} ";
}
}
}
$body='';
if($post){
if(is_array($post)){
$body=http_build_query($post);
}else{
$body=urlencode($post);
}
$fdata.='Content-Length:'.strlen($body)." {$body}";
}else{
$fdata.=" ";
}
if($urlset['scheme']=='https'){
$fp=fsockopen('ssl://'.$urlset['host'],$urlset['port'],$errno,$error);
}else{
$fp=fsockopen($urlset['host'],$urlset['port'],$errno,$error);
}
stream_set_blocking($fp,true);
stream_set_timeout($fp,$timeout);
if(!$fp){
returnerror(1,$error);
}else{
fwrite($fp,$fdata);
$content='';
while(!feof($fp))
$content.=fgets($fp,512);
fclose($fp);
returnihttp_response_parse($content,true);
}
}
3. 如何通过php发送https Get请求
<?php
//使用file_get_contents()发送GET请求非常简单
$url="http://www.caorongan.com";//请求的地址
$response=file_get_contents($url);//发送请求
echo$response;//打印结果
4. PHP使用curl访问https页面的问题
你试试 curl_multi_getcontent( resource $ch ) 我记得这个东西是要接受的 忘了是在传过去的页面还是本页面
5. 对于https协议的网站,可以用php 的curl来模拟get请求和post请求吗,能得到返回值吗
可以。
CURLOPT_PROTOCOLS
CURLPROTO_* 的位域指。如果被启用,位域值会限定libcurl在传输过程中有哪些可使用的协议。这将允许你在编译libcurl时支持众多协议,但是限制只是用它们中被允许使用的一个子集。默认libcurl将会使用全部它支持的协议。参见 CURLOPT_REDIR_PROTOCOLS .
可用的协议选项为:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL
对了,可定能得到返回值
6. PHP获取HTPPS网页源码没有内容怎么回事
php已提供相关函数。
file_get_contents() 函数把整个文件读入一个字符串中。
$ret = file_get_contents('要采集的网页URL');// 若需要从页面中获取内容,可以用正则匹配$begin=change_match_string('匹配开头的字符串');$end=change_match_string('匹配结尾的字符串');$p = "{$begin}(.*){$end}";// 使用正则进行匹配if (eregi($p,$ret,$rs)) return $rs[1];else return false;
7. 如何通过php发送https Get请求
我封装了一个Curl类,你看能不能用的上
classHttp{
publicfunctioncurlRequest($url,$postData='',$timeOut=10,$httpHeader=array()){
$handle=curl_init();
curl_setopt($handle,CURLOPT_URL,$url);
if($httpHeader){
curl_setopt($handle,CURLOPT_HTTPHEADER,$httpHeader);
}
curl_setopt($handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($handle,CURLOPT_HEADER,0);
curl_setopt($handle,CURLOPT_TIMEOUT,$timeOut);
curl_setopt($handle,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($handle,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($handle,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($handle,CURLOPT_USERAGENT,'Mozilla/5.0(Macintosh;IntelMacOSX10_7_2)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.93Safari/537.36');
curl_setopt($handle,CURLOPT_ENCODING,'gzip,deflate,sdch');
if(!empty($postData)){
curl_setopt($handle,CURLOPT_POST,1);
curl_setopt($handle,CURLOPT_POSTFIELDS,$postData);
}
$result['response']=curl_exec($handle);
$result['httpStatus']=curl_getinfo($handle,CURLINFO_HTTP_CODE);
$result['fullInfo']=curl_getinfo($handle);
$result['errorMsg']='';
$result['errorNo']=0;
if(curl_errno($handle)){
$result['errorMsg']=curl_error($handle);
$result['errorNo']=curl_errno($handle);
}
curl_close($handle);
return$result;
}
}
$curl=newHttp();
$strUrl='https://www..com?search=keywords';
$arrResponse=$curl->curlRequest($strUrl);//这就是请求结果
8. php如何获取网址中的参数
比如有一个网址为
http://域名/goods.php?u=59&id=24#pinglun
我想得到这个id值
可以用正则,也可以用php函数解析到数组中
用正则可以这样
preg_match('/id=(d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 这个表示当前网址url
print_r($m[1]);exit;
或者用parse_url()及parse_str()函数
$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);
parse_str($cur_q,$myArray);
print_r($myArray["id"]);exit;
拓展资料
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP的特性包括:
1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
4. 最重要的是PHP可以用C、C++进行程序的扩展!
参考资料:网络 PHP
9. php怎么抓取这个链接https://locate.apple.com/cn/zh/service/pt=3&lat=23.134521&lon=113.358803的源码
<?php
function dg_string($data,$flagA, $flagB, $start = 0){//配套截取字符串
$flagAL=strlen($flagA);
$flagBL=strlen($flagB);
$rn='';
$a=$b=0;
if(($findA=strpos($data,$flagA, $start))!==false){
$a=1;
$tmpA=$findA;
$findB=$findA+$flagAL;
$findA=$findB;
while($a!=$b){
if(($findB = strpos($data, $flagB, $findB))!==false){
$b++;
if(($findA = strpos($data, $flagA, $findA))!==false){
if($findA>$findB){
if($a==$b){
//结束
$findB+=$flagBL;
$rn=substr($data,$tmpA,$findB-$tmpA);
} else {
$a++;
$findB=$findA+$flagAL;
$findA=$findB;
}
} else {
$a++;
$findA+=$flagAL;
$findB+=$flagBL;
}
} else {
if($a==$b){
//结束
$findB+=$flagBL;
$rn=substr($data,$tmpA,$findB-$tmpA);
} else {
//标记不完整
$findB+=$flagBL;
}
}
} else {
//标记不完整
$rn=substr($data,$tmpA);
$rn.=str_repeat($flagB,$a-$b);
break;
}
}
}
return $rn;
}
$html = file_get_contents('https://locate.apple.com/cn/zh/service/?pt=3&lat=23.134521&lon=113.358803');//获取源码
$find = strpos($html, 'window.resourceLocator.setup');
$json1 = dg_string($html, '{', '}', $find);//获取第一个JSON数据
$find = strpos($html, 'window.resourceLocator.storeSetup');
$json2 = dg_string($html, '{', '}', $find);//获取第二个JSON数据
$arr1 = json_decode($json1, true);//第一个JSON数据转为数组
$arr2 = json_decode($json2, true);//第二个JSON数据转为数组
print_r($arr1);
print_r($arr2);
//得到了数组,你想获取哪个参数都行了,你自己看着办吧,楼主可亲测代码
?>
10. php 如何获取服务器的信息
服务器变量 $_SERVER 详解:
1、$_SESSION['PHP_SELF'] — 获取当前正在执行脚本的文件名
2、$_SERVER['SERVER_PROTOCOL'] — 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
3、$_SERVER['REQUEST_TIME'] — 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。
4、$_SERVER['argv'] — 传递给该脚本的参数。我试了下,get方法可以得到$_SERVER['argv'][0];post方法无法给他赋值。
5、$_SERVER['SERVER_NAME'] — 返回当前主机名。
6、$_SERVER['SERVER_SOFTWARE'] — 服务器标识的字串,在响应请求时的头信息中给出。 如Microsoft-IIS/6.0
7、$_SERVER['REQUEST_METHOD'] — 访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
8、$_SERVER['QUERY_STRING'] — 查询(query)的字符串(URL 中第一个问号 ? 之后的内容)。
9、$_SERVER['DOCUMENT_ROOT'] — 当前运行脚本所在的文档根目录。在服务器配置文件中定义。 如E:\server
10、$_SERVER['HTTP_ACCEPT'] — 当前请求的 Accept: 头信息的内容。
11、$_SERVER['HTTP_ACCEPT_CHARSET'] — 当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,*,utf-8”。
12、$_SERVER['HTTP_ACCEPT_ENCODING'] — 当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。
13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 当前请求的 Accept-Language: 头信息的内容。例如:“en”。
14、$_SERVER['HTTP_CONNECTION'] — 当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。
15、$_SERVER['HTTP_HOST'] — 当前请求的 Host: 头信息的内容。
16、$_SERVER['HTTP_REFERER'] — 链接到当前页面的前一页面的 URL 地址。
17、$_SERVER['HTTP_USER_AGENT'] — 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。
18、$_SERVER['HTTPS'] — 如果通过https访问,则被设为一个非空的值,否则返回off.
19、$_SERVER['REMOTE_ADDR'] — 正在浏览当前页面用户的 IP 地址。
20、$_SERVER['REMOTE_HOST'] — 正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。如本地测试返回127.0.0.1
21、$_SERVER['REMOTE_PORT'] — 用户连接到服务器时所使用的端口。我在本机测试没通过,不知道什么原因。
22、$_SERVER['SCRIPT_FILENAME'] — 当前执行脚本的绝对路径名。如返回E:\server\index.php
23、$_SERVER['SERVER_ADMIN'] — 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值
24、$_SERVER['SERVER_PORT'] — 服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
25、$_SERVER['SERVER_SIGNATURE'] — 包含服务器版本和虚拟主机名的字符串。
26、$_SERVER['PATH_TRANSLATED'] — 当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。 Apache 2 用 户可以使用 httpd.conf 中的 AcceptPathInfo On 来定义 PATH_INFO。
27、$_SERVER['SCRIPT_NAME'] — 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。
28、$_SERVER['REQUEST_URI'] — 访问此页面所需的 URI。例如,“/index.html”。
29、$_SERVER['PHP_AUTH_DIGEST'] — 当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。
30、$_SERVER['PHP_AUTH_USER']– 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
31、$_SERVER['PHP_AUTH_PW'] — 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
32、$_SERVER['AUTH_TYPE']–当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。