python解析URL中含有特殊符號的位址

2021-09-30 22:04:43 字數 952 閱讀 1393

今天在用curl呼叫乙個solr位址查詢資料的時候報錯,發現是因為url位址中含有[ 中括號導致的,既然shell的curl命令不行,想著python的urllib包可以解析url位址,那就嘗試這個

錯誤的情況:

root@pts/3 $ curl " to now]&wt=json&indent=true"

curl: (3) [globbing] error: bad range specification after pos 96

如果去掉中間包含中括號的查詢條件則用curl沒有問題

root@pts/3 $ curl ""

}, ...

這裡給出具體的例子

root@pts/3 $ python

python 2.7

.5 (default, nov 20

2015, 02:00:19)

[gcc 4.8

.520150623 (red hat 4.8

.5-4)] on linux2

or"license"

for more information.

>>>

import urllib

>>> urlstr = " to now]&wt=json&indent=true"

>>> result = urllib.urlopen(urlstr)

>>> print(result)

36354168 whose fp = 0x7f437fe03c50>>

>>> print(result.read())

},

最後可以結合python的正規表示式來等來實現自己個性化的需求

使用WebRequest時,URL中含有中文的問題

如下url 北京,由於中間有中文字元,傳到webrequest中時,得不到正確結果。為了使webrequest操作時,url支援中文,需要對這些中文特殊處理一下 encoding ed encoding.getencoding gb2312 webrequest req webrequest.cre...

獲得python的list中含有重複值的index

關於怎麼獲得,我想其實網上有很多答案。list.index 獲得值的索引值,但是如果list中含有的值一樣,例如含有兩個11,22,這樣每次獲得的都是第乙個值的位置。那麼怎麼去解決這個問題呢?下面的程式對這個問題做了一定的解答 usr bin env python coding utf 8 auth...

python解析含有重複key的json方法

python自帶的json包能夠方便的解析json文字,但是如果json文字中包含重複key的時候,解析的結果就是錯誤的。如下為例 經過解析,結果卻如下所示 原因是pyth解析的時候是建立乙個字典,首先會讀取到key的值,但是後面遇到重複鍵的時候,後來的值會覆蓋原來的值,導致最後只有乙個key的值留...