1. 程式人生 > >python解析URL中含有特殊符號的地址

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

摘要

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

curl 執行報錯

錯誤的情況:

[email protected]/3 $ curl "http://192.168.xxx.xxx:8983/solr/core1_shard2_replica1/select?q=*:*&fq=sex:1&fq=activeTime_tdt:[NOW-20MINUTE TO NOW]&wt=json&indent=true"
curl: (3) [globbing] error: bad range specification after pos 96

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

[email protected]/3 $ curl "http://192.168.xxx.xxx:8983/solr/core1_shard2_replica1/select?q=*:*&fq=sex:1&wt=json&indent=true"
{
  "responseHeader":{
    "status":0,
    "QTime":8,
    "params":{
      "q":"*:*",
      "indent":"true",
      "fq":"sex:1",
      "wt"
:"json"}}, ...

python urllib

這裡給出具體的例子

root@pts/3 $ python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
>>> urlstr = "http://192.168.xxx.xxx:8983/solr/core1_shard2_replica1/select?q=*:*&fq=sex:1&fq=activeTime_tdt:[NOW-20MINUTE TO NOW]&wt=json&indent=true"
>>> result = urllib.urlopen(urlstr) >>> print(result) <addinfourl at 36354168 whose fp = <socket._fileobject object at 0x7f437fe03c50>> >>> print(result.read()) { "responseHeader":{ "status":0, "QTime":11, "params":{ "q":"*:*", "indent":"true", "fq":["sex:1", "activeTime_tdt:[NOW-20MINUTE TO NOW]"], "wt":"json"}},

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


公眾號: DailyJobOps

    公眾號: DailyJobOps    

相關推薦

python解析URL含有特殊符號地址

摘要 今天在用curl呼叫一個solr地址查詢資料的時候報錯,發現是因為URL地址中含有[ 中括號 導致的,既然shell的curl命令不行,想著Python的urllib包可以解析URL地址,

url地址特殊符號“引號”引發的錯誤

一、問題描述 微信網頁授權時,在本地測試已經通過,預釋出後,出現死迴圈跳轉,get獲取的state引數為空 二、問題解決 訪問路徑 q1.pincn.com:82/inditexcareers/wxauth?state=1&requestu

Python 用正則表示式一次替換文章所有特殊符號,如“-,$()#+&*”之類

一個簡單的正則表示式,可能會起大作用。比如說字符集就是這樣。一篇文章如果有各種亂碼,就可以用這種方法去除。如去除“-,$()#+&*”之類符號是很方便的。按照查詢、分割、替換的套路再做一做這樣的練習。今天晚了,後續還要操作檔案來完善這一點。 import re

java對URL含有特殊字元"&"的處理

1、問題描述:最近在做java匯出檔案到excel專案中遇到請求的URL包含引數&的時候,匯出的檔案裡面內容為空,什麼都沒有。 2、問題排查:首先我檢視專案執行的日誌,發現打印出來的錯誤資訊是空指標異常java.lang.NullPointException.然後發

git命令帶有特殊符號如@

http 特殊 bsp 特殊符號 use ring color tps word 使用帶用戶密碼clone的方式:git clone https://username:[email protected]/* */ 當username和password中含有特殊符

c語言特殊符號(結構體

結合 特殊 value -s height 間接尋址 出現 span size  在“結構”中出現的->運算符成為“右箭頭選擇”,可以用new_node->value = 10;來代替(*new_code).value = 10;即運算符->是運算符*和運

shell特殊符號

單詞 white 是把 col 位置參數 退出狀態 列表 font 添加 shell中的特殊符號 # 註釋作用, #! 除外,在參數替換 echo ${PATH#*:} 這裏不表示註釋, 數制轉換, 不表示註釋 echo $((2#10101

解析url參數

兼容 ram amp 參數 spl spa func param arc 兼容不帶參數等情況 function getUrlParam(){ var params = {}; var search = location.search;

python解析網頁js動態添加的內容

pytho log hive .cn article gree html .com .html https://www.cnblogs.com/asmblog/archive/2013/05/07/3063809.html https://www.zhihu.com/q

scala常用特殊符號

article csdn 運算 獲取 kcon test 集合遍歷 map www 參考資料: scala中常用但其他語言不常見的符號含義 Scala學習六:Scala中的特殊字符 =>(匿名函數) 參考文檔:scala => 用法 匿名函數 => 匿

shell特殊符號和cut,sort,wc,uniq,tee,tr,split命令

com 字符串 學習 linu sci 在屏幕上 ges 特殊 shadow 一、shell中的特殊符號 你在學習linux的過程中,也許你已經接觸過某個特殊符號,例如”*”,它是一個通配符號,代表零個或多個字符或數字。常用到的特殊字符:1、* 代表零個或多個任意字符。2、

mysql設置復雜密碼含$特殊符號導致無法命令登錄

mysql fff 符號 title 圖片 image sql 登錄 設置 安全考慮 在設置MYSQL 密碼時候加入了$特殊符號,導致在寫腳本時運行報以下錯誤如下經過一番折騰發現原來就是 $修改密碼即可去掉$mysql設置復雜密碼中含$特殊符號導致無法命令登錄

url含有中文路徑時訪問出現404問題

pat find() 訪問 col pub 文字 str static color /** * URL中文字符編碼轉換 * @param url 含中文字符的URL * @return */ public static String getC

url 含有的中文進行轉碼操作

www 勘誤 utili reason main letter ins 兩個 int 對 url 中含有的中文進行轉碼操作 一般情況下,將帶有中文的 url 拷貝到開發工具,開發工具都會有相應的轉碼(自動轉碼), 現在大部分的瀏覽器也可以對含有中文的 url 進行轉碼(自

php插入含有特殊符號數據的處理方法

SQL 註入 php 問題:當我們在向mysql寫入數據時,如果數據中有特殊字符就會出現數據無法正常入庫的情況,比如:1mysql_query(”update table set `name`='make's'”);而這個時候一般就是使用addslashes()這個函數來轉

常見Linux Shell特殊符號含義

運算 variable help erb null 作用 pip == 不可 在Shell的實際使用中,有編程經驗的很容易上手,但稍微有難度的是shell裏面的那些個符號,各種特殊的符號在我們編寫Shell腳本的時候如果能夠用的好,往往能給我們起到事半功倍的效果,下面就羅列

makefile特殊符號及關鍵字

目標 需要 編寫 ats www. 如果 符號 placement ace 1.常見自動變量和含義 * :表示目標文件的名稱,不包含目標文件的擴展名。 + :表示所有的依賴文件,這些依賴文件之間以空格分開,按照出現的先後為順序,其中可能包含重復的依賴文件。 < :表

解析url的#、&、?的作用和意義

twitter改版,一個顯著變化,就是URL加入了"#!"符號。比如,改版前的使用者主頁網址為 http://twitter.com/username 改版後,就變成了 http://twitter.com/#!/username 這是主流網站第一次將"#"大規模用於重要

linux shell 特殊符號

萬用字元,代表零個或多個任意字元? 只代表一個任意的字元 註釋符號,即#後面的內容都會被忽略 \ 脫義字元,會將後面的特殊符號還原為普通字元| 管道符,將前面的命令的輸出作為後面命令的輸入wc -l 計算一個文件有多少行命令cut格式: cut -d '分隔字元‘ [ -cf ] n-d 後面跟分隔字元

python plt視覺化——列印特殊符號和製作圖例

1、列印特殊符號 matplotlib在公式書寫上面跟latex很相似,接下來我們就特殊符號,上標下標來具體展示一下。 import matplotlib.pyplot as plt x = [i+1 for i in range(20)] y = x plt.figure() p