喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
 14  1/2  1  2  > 
     
标题: [问题] php如何获取 https 网页的HTML代码?  
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 748
帖子 735
金钱 748 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 在线
[广告]: q m
php如何获取 https 网页的HTML代码?

请问php如何获取 https  网页的HTML代码?

注意了是 https  而不是 http

http 的话用 file和fsockopen 都可以

可获取https网页HTML代码该怎么办呢?




今霄酒醒何处?杨柳岸,晓风残月。
2007-12-14 05:15 PM#1
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
fengchen9127
中级会员
Rank: 3Rank: 3
一般会员


UID 64936
精华 0
积分 239
帖子 239
金钱 239 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-6-23
来自 魔鬼之域
状态 离线
[推荐阅读] 求解: 一个层定位的问题!!
用fsockopen

<?php
$KEYS       
="";                     //文件系统中本地证书文件的路径。必须是一个用 PEM 编码并包含你的证书和私人密钥的文件。可以选择包括发行者的证书链。
$PASS_KEYS  ="";                     //你的证书文件编码的passphrase。
$timeout 10;
$context stream_context_create();
$result stream_context_set_option($context'ssl''local_cert'$KEYS);
$result stream_context_set_option($context'ssl''passphrase'$PASS_KEYS);
$result stream_context_set_option($context,'ssl','allow_self_signed',true); 
if(
substr(phpversion(),0,1)>=5){
$fp stream_socket_client("https://www.example.com:80",$errno,$errstr,$timeout,$context);
}
else{
$fp fsockopen("https://www.example.com:80",$errno,$errstr,$timeout,$context);
}
if (!
$fp) {
    echo 
"$errstr ($errno)<br />n";
} else {
    
$out "GET / HTTP/1.1rn";
    
$out .= "Host: [url]www.example.com[/url]rn";
    
$out .= "Connection: Closernrn";

    
fputs($fp$out);
    while (!
feof($fp)) {
        echo 
fgets($fp128);
    }
    
fclose($fp);
}
?>
我曾在PHP5.0.6下用 fsockopen("https://www.example.com:80",$errno,$errstr,$timeout,$context);但是不能解析证书文件。你可以试下!~




我们的目标是:将潜水进行到底!!
2007-12-14 05:46 PM#2
查看资料  访问主页  发短消息  QQ  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 748
帖子 735
金钱 748 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 在线
[推荐阅读] 年末了,还有上海的公司招聘php程序员吗
非常感谢,试一下



今霄酒醒何处?杨柳岸,晓风残月。
2007-12-14 06:13 PM#3
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
奶瓶 (NP博士)
版主
Rank: 7Rank: 7Rank: 7
老仙


UID 52707
精华 4
积分 27779
帖子 6466
金钱 27729 喜悦币
威望 50
人脉 0
阅读权限 100
注册 2004-11-22
来自 北大中文系
状态 离线
[推荐阅读] 对于新手,php系统集成环境哪一个更好?
试试CURL也好




图片包子,注册送100包子!
域名抢注
2007-12-14 07:29 PM#4
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  Yahoo!  顶部
 
飞豹游侠
高级会员
Rank: 4
超高级会员



UID 27267
精华 0
积分 776
帖子 1047
金钱 776 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2004-3-26
来自 沈阳
状态 离线
[推荐阅读] 厦门高薪招聘资深网页设计师
fsockopen
(PHP 4, PHP 5)

resource fsockopen ( string $hostname [, int $port [, int &$errno [, string &$errstr [, float $timeout]]]] )


hostname
If you have compiled in OpenSSL support, you may prefix the hostname with either ssl:// or tls:// to use an SSL or TLS client connection over TCP/IP to connect to the remote host.




我发现我越来越菜,怎么办啊...
家长网
龙之剑,深圳民间反扒队,欢迎加入
2007-12-14 09:41 PM#5
查看资料  访问主页  发短消息  QQ  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 748
帖子 735
金钱 748 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 在线
[推荐阅读] 这最后两行似乎没用?
现在用 ssl:// 方式 打开已经可以了

如果我再打开的同时传递一个POST变量过去的话应该也可以吧

另外,如果对方做了SESSION判断的话,我是否就没办法进行变量传递过去查询呢?




今霄酒醒何处?杨柳岸,晓风残月。
2007-12-15 09:40 AM#6
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
fengchen9127
中级会员
Rank: 3Rank: 3
一般会员


UID 64936
精华 0
积分 239
帖子 239
金钱 239 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-6-23
来自 魔鬼之域
状态 离线
[推荐阅读] 穷人没法活了!
你要POST也好GET也好都可以在文件头里面处理的啊!

<?php
//生成请求字串
$request 'aa='.urlencode($aa); 
$request .= '&bb='.urlencode($bb); 

if(
$xx == "get"){
$out "GET /index.php  HTTP/1.1 /r/n";
}
else{
$out "POST /index.php  HTTP/1.1 /r/n";
}
$header .= "Content-type: application/x-www-form-urlencoded/r/n"
$header .= "Content-length: ".strlen($request)."/r/n";
$header .= "Connection: Close/r/n/r/n";
?>
看看这样不就好了吗?
如果对方做了SESSION判断的话!你把SESSIONID传过去就好了

<?php
$header 
.= "Content-type: application/x-www-form-urlencoded/r/n"
$header .= "Cookie:".session_id()."/r/n";
$header .= "Content-length: ".strlen($request)."/r/n";
$header .= "Connection: Close/r/n/r/n";
?>
[ 本帖最后由 fengchen9127 于 2007-12-17 10:06 AM 编辑 ]




我们的目标是:将潜水进行到底!!
2007-12-17 10:00 AM#7
查看资料  访问主页  发短消息  QQ  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 748
帖子 735
金钱 748 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 在线
[推荐阅读] 淘洗坊诚聘PHP程序员1名(工作地点: 温州)


QUOTE:
原帖由 fengchen9127 于 2007-12-17 10:00 AM 发表
你要POST也好GET也好都可以在文件头里面处理的啊!

//生成请求字串
$request = 'aa='.urlencode($aa);
$request .= '&bb='.urlencode($bb);

if($xx == "get"){
$out = "GET /index ...
POST和GET都可以传递过去,测试成功了

但SESSION怎么可能传递过去呢?那是不可能的,SESSION值是在服务器PHP代码中产生的,跟传递没任何关系啊。

我看明白你的代码了,那是COOKIE,而不是SESSION,传递过来的是一个COOKIE变量啊,不是一个SESSION变量。

[ 本帖最后由 yanglei1979 于 2007-12-17 10:15 AM 编辑 ]




今霄酒醒何处?杨柳岸,晓风残月。
2007-12-17 10:07 AM#8
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 
fengchen9127
中级会员
Rank: 3Rank: 3
一般会员


UID 64936
精华 0
积分 239
帖子 239
金钱 239 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-6-23
来自 魔鬼之域
状态 离线
[推荐阅读] 买了就跌
-_-!大哥!SESSIONID都是记录在COOKIE中的阿!

<?php
$out 
.= "Cookie: " session_name() . "=" session_id() . "; path=/rn";
?>


<?php
session_id
($_COOKIE['SESSIONID']);
session_start();
print_r($_SESSION);
?>
[ 本帖最后由 fengchen9127 于 2007-12-17 10:32 AM 编辑 ]




我们的目标是:将潜水进行到底!!
2007-12-17 10:26 AM#9
查看资料  访问主页  发短消息  QQ  顶部
 
yanglei1979 (高老庄二庄主)
高级会员
Rank: 4
天蓬元帅


UID 73676
精华 0
积分 748
帖子 735
金钱 748 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-19
来自 深圳
状态 在线
[推荐阅读] font14号买什么


QUOTE:
原帖由 fengchen9127 于 2007-12-17 10:26 AM 发表
-_-!大哥!SESSIONID都是记录在COOKIE中的阿!

$out .= "Cookie: " . session_name() . "=" . session_id() . "; path=/rn";




session_id($_COOKIE);
session_start() ...
说的有些道理,你是个高手

我先研究下,再来讨论




今霄酒醒何处?杨柳岸,晓风残月。
2007-12-17 11:11 AM#10
查看资料  访问主页  发短消息  QQ  Yahoo!  顶部
 14  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.029008 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP