我試圖使用URLLIB2來打開一個URL並將內容讀回到一個數組中。問題似乎是,您不能在具有格式化字符的網址中使用字符串插值,如%20爲空格,%3C爲'<'。有問題的網址中有空格和一點xml。如何使用包含格式化字符的URL進行字符串插值?
我的代碼是非常簡單的,看起來是這樣的:
#Python script to fetch NS Client Policies using GUID
import sys
import urllib2
def GetPolicies(ns, guid):
ns = sys.argv[1]
guid = sys.argv[2]
fetch = urllib2.urlopen('http://%s/Altiris/NS/Agent/GetClientPolicies.aspx?xml=%3Crequest%20configVersion=%222%22%20guid=%22{%s}%22') % (ns, guid)
我已經縮短爲簡潔的URL,但你得到的總體思路,你因爲「沒有足夠的參數格式字符串」錯誤它假定你想要使用%3,%20和其他字符串插值。你如何解決這個問題?
或者正好連接:'URL =的 'http://' + NS +「/Altiris/NS/Agent/GetClientPolicies.aspx?xml= %3Crequest%20configVersion =%222%22%20guid =%22 {'+ guid +'}%22''。 – adw 2010-10-28 16:19:57
太棒了,謝謝! – 2010-10-28 16:26:09