【转发】利用httplib.HTTPSConnection 发送post请求的方式

转发地址:

 

 

利用httplib 以http发送post请求网上很多资料。https的处理方式,有所不同,弄不好,报480等错误。

正确的处理方式,上代码:

#HTTPS发送POST请求范例
import httplib
import ssl
import socket
import base64
import simplejson
try:
    receipt = '{"data":1111}'
    encodedReceipt = base64.b64encode(receipt)
    param= simplejson.dumps({"receipt-data":encodedReceipt})
    API_url = "xx.xxx.com"
     
    #关键代码开始
    httpClient = httplib.HTTPSConnection(API_url)
    sock = socket.create_connection((httpClient.host, httpClient.port))
    httpClient.sock = ssl.wrap_socket(sock, httpClient.key_file, httpClient.cert_file, ssl_version=ssl.PROTOCOL_TLSv1)
    httpClient.request('POST', "/verifyReceipt/", param)
    returnData = httpClient.getresponse().read()
    data = simplejson.loads(returnData)
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()

 

注意关键代码:(再附一遍代码)

import httplib, ssl, socket

conn = httplib.HTTPSConnection(URL.hostname)
sock = socket.create_connection((conn.host, conn.port), conn.timeout, conn.source_address)
conn.sock = ssl.wrap_socket(sock, conn.key_file, conn.cert_file, ssl_version=ssl.PROTOCOL_TLSv1)
conn.request('POST', URL.path + URL.query)

注:后续自己针对这块的内容,需要完全的做一个总结

posted on 2016-06-12 16:18  可可_小虾米  阅读(241)  评论(0编辑  收藏  举报

导航