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

原文出处:http://blog.chinaunix.net/uid-429659-id-3988033.html

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

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

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

附代码:

  1. import httplib, ssl, socket

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值