gpt4 book ai didi

python - 使用 Python 请求库获取 Ajax Json 输出 500 错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:06 25 4
gpt4 key购买 nike

我完成此代码是为了从 http://www.yurticikargo.com/bilgi-servisleri/Sayfalar/en-yakin-sube.aspx 的网页获取输出但我收到 500 错误。不明白为什么

import requests
import json


class Yurtici(object):
baseUrl = 'http://www.yurticikargo.com/'
ajaxRoot1 = '_layouts/ArikanliHolding.YurticiKargo.WebSite/ajaxproxy-sswservices.aspx/'
ajaxRoot2 = '_layouts/ArikanliHolding.YurticiKargo.WebSite/ajaxproxy-unitservices.aspx/GetUnit'

getTown = 'GetTownByCity'

urlGetTown = baseUrl + ajaxRoot1 + getTown
urlGetUnit = baseUrl + ajaxRoot2
headers = {'content-type': 'application/json','encoding':'utf-8'}

def __init__(self):
pass

def ilceler(self, plaka=34): # Default testing value
payload = {'cityId':plaka}
url = self.urlGetTown
r = requests.post(url, data=json.dumps(payload), headers=self.headers)
return r.json() # OK


def subeler(self, ilceNo=3401): # Default testing value
# 5902 Çerkezköy
payload= {'cityID':34,'townID':ilceNo,'unitOnDutyFlag':'null','closestFlag':0}
url = self.urlGetUnit
headers = {'content-type': 'application/json','encoding':'utf-8'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
return r.json()
print r.status_code, r.raw.read()

if __name__ == '__main__':
a = Yurtici()
#print a.ilceler(34) # OK
print a.subeler() # NOT OK !!!

最佳答案

凭直觉,我发现 'unitOnDutyFlag' 有问题值(value)。当编码 python dict到 json,如果你想要 null在输出中,您的值应该为 None在字典中。

尝试更改线路:

payload = {'cityID':34,'townID':ilceNo,'unitOnDutyFlag':'null','closestFlag':0}

至:

payload = {'cityID':34,'townID':ilceNo,'unitOnDutyFlag': None,'closestFlag':0}

示例:

# nulljson.py
import json

data = {
'foo': 'null',
'bar': None
}

print json.dumps(data)

输出:

$ python nulljson.py
{"foo": "null", "bar": null}

请注意 "foo" 的值是字符串 "null" ,不是真的null值。

关于python - 使用 Python 请求库获取 Ajax Json 输出 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com