2011-09-03 28 views
0

首先,我是一名Web开发人员的完全新手。我有一个处理HTTP请求的PHP函数,效果很好。我看了几个地方网上,所有我必须做的,使同样的功能后,以HTTPS是更改端口我从80端口打至443端口所以不是这样看:使用PHP从HTTP POST转换为HTTPS POST

$fp = fsockopen($host, 80, $errno, $errstr, 30); 

它看起来像这样:

$fp = fsockopen($host, 443, $errno, $errstr, 30); 

不幸的是,这种改变似乎没有工作。所以我的问题是这些:

是真的,我必须改变的是端口号?

如果还有更多事情要做,比我还需要做什么?

请尽量让事情尽可能简单,因为我是第一个承认我对这类东西非常陌生的人。

谢谢大家。

+0

有你的PHP手册了解SSL的HTTP的注意事项: //php.net/manual/en/function.fsockopen.php –

+0

可能的重复[如何获得SSL在fsockopen中的工作?](http://stackoverflow.com/questions/1757957/how-do-i-get -sl-working-in-fsockopen) –

回答

4

Is it true that all I have to change is the port number?

没有

If there is more to do, than what is it I still need to do?

你必须建立SSL连接和隧道通过它的HTTP请求。

不要试图用套接字来做到这一点。使用专为它设计的库,例如cURL

+0

我也认为cURL可能是一个更好的方法 –

+0

谢谢你们,我马上就会明白 – JMecham

0

从php.net:

If OpenSSL support is installed, 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.

尝试前面加上SSL://你的$主机(也保持443端口;

+0

所以我把ssl://加到了$ host的前面字符串。现在我可以打到服务器了,但是我得到一个错误: HTTP/1.1 400错误请求 服务器:nginx/1.0.4 日期:2011年9月4日00:12:46 GMT 内容类型:文本/ html 内容长度:10 连接:关闭,404错误 我是否需要格式化我发送的数据,因为我现在要通过SSL? – JMecham

+0

我不确定。我看到“404错误”,这让我认为你没有请求正确的URL。 – Andrew