2011-09-03 33 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