这是我的问题:
1) 使用浏览器,我可以下载包含以下内容的文本文件:
网址:protocol://URL/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/12621?UserLogin=P_6669&Password=XXXXXX
HTTP/1.1 200 OK 内容类型:application/json;charset=UTF-8 内容长度:669 连接:关闭
{"ConfigItem":[{"CurInciState":"Operational","ConfigItemID":"245767","InciStateType":"operational","CurInciStateType":"operational","Number":"3266000189","CreateBy" :"3","CurDeplState":"Production","LastVersionID":"463432","DeplState":"Production","CreateTime":"2017-01-18 10:09:01","DefinitionID": "466","VersionID":"463432","DeplStateType":"productive","CIXMLData":{"FilaResponsavel":"","type":"Active-active","tipo-inventario":"" ,"VIPaddress":"sepap.camara.gov.br","id-inventario":"D0E7907294A0402C9AB0C1AD3D4C4704","Description":"Teste.","link-inventario":""},"Class":"Cluster Group","InciState":"Operational","CurDeplStateType":"productive","Name" :"集群-Sepap"}]}
2)使用卷曲:
curl -k 'protocol://URL/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/12621?UserLogin=P_6669&Password=XXXXXX'
{"Ticket":[{"EscalationTimeWorkingTime":"-382512","Age":846912,"PriorityID":"3","EscalationDestinationTime":"1483993892","ServiceID":"","EscalationDestinationIn":" 106h 15m","SolutionTimeWorkingTime":"-357312","Type":"Unclassified","Responsible":"root@localhost","SolutionTimeDestinationDate":"2017-01-10 11:31:32","StateID ":"4","ResponsibleID":"1","ChangeBy":"1","EscalationTime":-843312,"SolutionTimeDestinationTime":"1484055092","EscalationDestinationDate":"2017-01-09 18:31 :32","所有者ID":"1","已更改":"2017-01-09 17:31:34","FirstResponseTimeWorkingTime":"-382512","RealTillTimeNotUsed":"0","GroupID":"1","Owner":"root@localhost","CustomerID" :"CENTRO DE INFORMÁTICA","TypeID":"1","Created":"2017-01-09 17:31:32","Priority":"3 normal","FirstResponseTimeEscalation":1,"UntilTime" :0,"EscalationUpdateTime":"0","QueueID":"1","Queue":"Postmaster","State":"open","Title":"Ticket#3","FirstResponseTimeDestinationDate":" 2017-01-09 18:31:32","CreateBy":"1","TicketID":"12621","StateType":"open","UnlockTimeout":"0","EscalationResponseTime":"1483993892","FirstResponseTimeDestinationTime":"1483993892","EscalationSolutionTime":"1484055092","LockID":"1","ArchiveFlag":"TicketNumber" ":"30004295","SolutionTime":-782112,"CreateTimeUnix":"1483990292","Lock":"unlock","SolutionTimeEscalation":1,"SLAID":"","CustomerUserID":"P_7029", "FirstResponseTime":-843312}]}"1","ArchiveFlag":"n","TicketNumber":"30004295","SolutionTime":-782112,"CreateTimeUnix":"1483990292","Lock":"unlock","SolutionTimeEscalation":1," SLAID":"","CustomerUserID":"P_7029","FirstResponseTime":-843312}]}"1","ArchiveFlag":"n","TicketNumber":"30004295","SolutionTime":-782112,"CreateTimeUnix":"1483990292","Lock":"unlock","SolutionTimeEscalation":1," SLAID":"","CustomerUserID":"P_7029","FirstResponseTime":-843312}]}
3)使用Python:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
usuario = {'UserLogin':'P_6669','Password':'XXXXXX'}
headers = {'accept': 'application/json','content-type' : 'applicatio/json'}
ret = requests.get('protocol://URL/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/12621', verify=False, params=usuario)
print "URL: " + ret.url
print "Status Code: " + str(ret.status_code)
print "Raw: " + str(ret.raw)
try:
print "Text: " + str(ret.text)
except:
print "TEXT: ERRO!"
print "Headers: " + str(ret.headers)
try:
print "Json: " + ret.json()
except:
print "Json: ERRO!"
print "Content: " + ret.content
Run Code Online (Sandbox Code Playgroud)
结果:
网址:protocol://URL/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/12621?UserLogin=P_6669&Password=XXXXXX
状态码:200
原始:urllib3.response.HTTPResponse 对象在 0x7f8e86628510
文本:错误!
标头:CaseInsensitiveDict({})
杰森:错误!
内容:?????$??6?u??|A?^.........这里有很多垃圾....
我已经尝试了很多与requests.get
, requests.post
,的组合httplib2.Http
。我总是收到这个错误。
为什么会发生这种情况?
小智 6
从Accept-Encoding
请求标头中删除“br”帮助我解决了这个问题。
headers = {
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
}
Run Code Online (Sandbox Code Playgroud)
像这样的事情怎么样:
import gzip
print gzip.decompress(ret.content)
Run Code Online (Sandbox Code Playgroud)
或者:
import zlib
print zlib.decompress(ret.content, 16+zlib.MAX_WBITS)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1112 次 |
最近记录: |