javascript - 如何用curl post 一段包含中文json的文本到伺服器?

來源:互聯網
上載者:User
CURL 命令這麼寫的.

curl -X POST http://localhost:3000/api/licenses/eee -d itemdata='{"nType":"1","nBaoYou":"0","szItemId":"536347062406","title":"秋冬新款女裝韓版半高領毛 衣女加厚修身顯瘦長袖套頭針織衫打底衫","secondTitle":"","imgURL":"http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg","promotionTxt":"限時秒殺價","fOldPrice":"108","fThirdPrice":"0","fCommissionPer":"10.5","fCommission":"2.08","nTgCount":"0","nSellCount":"37","fPingFen":"0","nPingjiaCount":"5","szTgURL":"","szWebTgURL":"","szBlogTgURL":"","shortUrl":"","szDesc":"","nick":"艾倫聖瑪旗艦店","coupon":""}'

伺服器收到如下代碼..最後都括弧不匹配

{ itemdata: '\'{nType:1,nBaoYou:0,szItemId:536347062406,title:�ﶬ�¿�Ůװ����������ë ��Ů�Ӻ��������ݳ�����ͷ��֯��������,secondTitle:,imgURL:http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg,promotionTxt:��ʱ��ɱ��,fOldPrice:108,fThirdPrice:0,fCommissionPer:10.5,fCommission:2.08,nTgCount:0,nSellCount:37,fPingFen:0,nPingjiaCount:5,szTgURL:,szWebTgURL:,szBlogTgURL:,shortUrl:,szDesc:,nick:����ʥ���콢��,coupon:}\'' }

還有如果直接傳遞json 伺服器好像把接受到的又給封裝了一層key=>value,下面是curl命令.

curl -X POST http://localhost:3000/api/licenses/eee -d {"itemdata":{"nType":"1","nBaoYou":"0","szItemId":"536347062406","title":"秋冬新款女裝韓版半高領毛 衣女加厚修身顯瘦長袖套頭針織衫打底衫","secondTitle":"","imgURL":"http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg","promotionTxt":"限時秒殺價","fOldPrice":"108","fThirdPrice":"0","fCommissionPer":"10.5","fCommission":"2.08","nTgCount":"0","nSellCount":"37","fPingFen":"0","nPingjiaCount":"5","szTgURL":"","szWebTgURL":"","szBlogTgURL":"","shortUrl":"","szDesc":"","nick":"艾倫聖瑪旗艦店","coupon":""}}

下面是結果

{  "{itemdata:{nType:1,nBaoYou:0,szItemId:536347062406,title:錕斤冬錕鉸匡拷女裝錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷毛 錕斤拷女錕接猴拷錕斤拷錕斤拷錕斤拷錕捷籌拷錕斤拷錕斤拷頭錕斤拷織錕斤拷錕斤拷錕斤拷錕斤拷,secondTitle:,imgURL:http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg,promotionTxt:錕斤拷時錕斤拷殺錕斤拷,fOldPrice:108,fThirdPrice:0,fCommissionPer:10.5,fCommission:2.08,nTgCount:0,nSellCount:37,fPingFen:0,nPingjiaCount:5,szTgURL:,szWebTgURL:,szBlogTgURL:,shortUrl:,szDesc:,nick:錕斤拷錕斤拷聖錕斤拷錕屆艦錕斤拷,coupon:}}": ""}

現在是兩個問題.
1第一個到底應該怎麼在curl 裡傳遞中文json?
2如何使伺服器解析正確的json ,因為用js的http.post 是可以正確接受的....

希望大神給予指導

回複內容:

CURL 命令這麼寫的.

curl -X POST http://localhost:3000/api/licenses/eee -d itemdata='{"nType":"1","nBaoYou":"0","szItemId":"536347062406","title":"秋冬新款女裝韓版半高領毛 衣女加厚修身顯瘦長袖套頭針織衫打底衫","secondTitle":"","imgURL":"http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg","promotionTxt":"限時秒殺價","fOldPrice":"108","fThirdPrice":"0","fCommissionPer":"10.5","fCommission":"2.08","nTgCount":"0","nSellCount":"37","fPingFen":"0","nPingjiaCount":"5","szTgURL":"","szWebTgURL":"","szBlogTgURL":"","shortUrl":"","szDesc":"","nick":"艾倫聖瑪旗艦店","coupon":""}'

伺服器收到如下代碼..最後都括弧不匹配

{ itemdata: '\'{nType:1,nBaoYou:0,szItemId:536347062406,title:�ﶬ�¿�Ůװ����������ë ��Ů�Ӻ��������ݳ�����ͷ��֯��������,secondTitle:,imgURL:http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg,promotionTxt:��ʱ��ɱ��,fOldPrice:108,fThirdPrice:0,fCommissionPer:10.5,fCommission:2.08,nTgCount:0,nSellCount:37,fPingFen:0,nPingjiaCount:5,szTgURL:,szWebTgURL:,szBlogTgURL:,shortUrl:,szDesc:,nick:����ʥ���콢��,coupon:}\'' }

還有如果直接傳遞json 伺服器好像把接受到的又給封裝了一層key=>value,下面是curl命令.

curl -X POST http://localhost:3000/api/licenses/eee -d {"itemdata":{"nType":"1","nBaoYou":"0","szItemId":"536347062406","title":"秋冬新款女裝韓版半高領毛 衣女加厚修身顯瘦長袖套頭針織衫打底衫","secondTitle":"","imgURL":"http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg","promotionTxt":"限時秒殺價","fOldPrice":"108","fThirdPrice":"0","fCommissionPer":"10.5","fCommission":"2.08","nTgCount":"0","nSellCount":"37","fPingFen":"0","nPingjiaCount":"5","szTgURL":"","szWebTgURL":"","szBlogTgURL":"","shortUrl":"","szDesc":"","nick":"艾倫聖瑪旗艦店","coupon":""}}

下面是結果

{  "{itemdata:{nType:1,nBaoYou:0,szItemId:536347062406,title:錕斤冬錕鉸匡拷女裝錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷毛 錕斤拷女錕接猴拷錕斤拷錕斤拷錕斤拷錕捷籌拷錕斤拷錕斤拷頭錕斤拷織錕斤拷錕斤拷錕斤拷錕斤拷,secondTitle:,imgURL:http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg,promotionTxt:錕斤拷時錕斤拷殺錕斤拷,fOldPrice:108,fThirdPrice:0,fCommissionPer:10.5,fCommission:2.08,nTgCount:0,nSellCount:37,fPingFen:0,nPingjiaCount:5,szTgURL:,szWebTgURL:,szBlogTgURL:,shortUrl:,szDesc:,nick:錕斤拷錕斤拷聖錕斤拷錕屆艦錕斤拷,coupon:}}": ""}

現在是兩個問題.
1第一個到底應該怎麼在curl 裡傳遞中文json?
2如何使伺服器解析正確的json ,因為用js的http.post 是可以正確接受的....

希望大神給予指導

你是想做測試吧,去下載一個postman吧

試試把要POST的資料儲存在json檔案中,例如 itemdata.json:

{    "nType":"1",    "nBaoYou":"0",    "szItemId":"536347062406",    "title":"秋冬新款女裝韓版半高領毛 衣女加厚修身顯瘦長袖套頭針織衫打底衫",    "secondTitle":"",    "imgURL":"http://img4.tbcdn.cn/tfscom/i1/TB1OniJLXXXXXXzXpXXXXXXXXXX_!!0-item_pic.jpg",    "promotionTxt":"限時秒殺價",    "fOldPrice":"108",    "fThirdPrice":"0",    "fCommissionPer":"10.5",    "fCommission":"2.08",    "nTgCount":"0",    "nSellCount":"37",    "fPingFen":"0",    "nPingjiaCount":"5",    "szTgURL":"",    "szWebTgURL":"",    "szBlogTgURL":"",    "shortUrl":"",    "szDesc":"",    "nick":"艾倫聖瑪旗艦店",    "coupon":""}

Headers中設定Content-Typeapplication/json然後執行以下命令:

curl http://localhost:3000/api/licenses/eee -H "Content-Type: application/json" -X POST --data @itemdata.json

可以對資料編碼後傳輸。

用firefox看看人家傳的什麼,用的什麼header,照準了填上去,我就這麼幹

要保證shell和php的編碼一致

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.