2017-04-20 57 views
0
url_a = """http://some.url/""" 
url_b = """http://some.url/'{}'/target""" 

a= requests.get(url_a) 
a_data = a.json() 
a_id = [i['id'] for i in a_data] 

b= requests.get(url_b.format(a_id[0])) 
b_data = b.json() 
print(b_data) 
{u'message': u"Unrecognized REST Request: GET/aps/2/resources/'%5C73d49684-dc10-4d6a-ae56-eb3816cd7064'%5C/subscriptions", u'error': u'APS::Util::Exception'} 
type(a_data) 
<type 'list'> 

URL A有一些以json格式获取的数据,表示为字典列表。我需要将关键“ID”的值填入URL B,但我无法做到。它将它作为http://some.url/'12345'/目标用引号发送。如果我转义引号,它仍然向API控制器发送字面转义。 如果我不使用引号,它会返回空结果。python如何将列表中的值传递给url

如果它传递为/ aps/2/resources/12345/subscriptions,那么有效的结果是存在的,但是我无法弄清楚如何在python中表示它。

欣赏一些帮助。谢谢。

+1

使用'url_b = “” 删除单引号的 “http://some.url/ {} /目标” “”'? –

+0

如果我这样做,结果只是一个空的结果。但如果我运行该查询,因为它应该在python之外运行,我确实得到了实际结果。 – oj43085

+0

你是什么意思?你已经明确地在你的字符串中加了引号,所以我不确定你为什么不期待它们在那里,如果你删除它们,它们不应该呆在那里... –

回答

0
>>> s_data = s.json() 
>>> print(s_data) 
[] 
>>> f = i_ids[0] 
>>> print(f) 
73d49684-dc10-4d6a-ae56-eb3816cd7064 
>>> f = i_ids[1] 
>>> print(f) 
89c20244-331a-48c4-afea-3e23e72af768 
>>> s = requests.get(s_url.format(i_ids[1]), verify=False) 
>>> s_data = s.json() 
>>> print(s_data) 
>>> len(s_data) 
143 
>>> 

家伙抱歉,是我刚刚从{}

感谢

相关问题