2015-08-20 8 views
9

मैं यह काम कैसे कर सकता हूं?कर्ल से बच एकल उद्धरण

curl -XPOST 'http://localhost:9290/location/place' -d '{"geoloc": {"lat": "38.1899", "lon": "-76.5087"}, "longitude": "-76.5087", "admin_name1": "Maryland", "admin_name2": "St. Mary's", "admin_name3": "", "postal_code": "20692", "admin_code3": "", "country_code": "US", "admin_code1": "MD", "latitude": "38.1899", "admin_code2": "037", "accuracy": null, "place_name": "Valley Lee"}' 

'Mary's में यह विफल कर रही है। मैं इसे cat curl-cmd.txt | sh जैसी फ़ाइल से चला रहा हूं लेकिन यह कमांड लाइन से भी काम नहीं करेगा। मैं \' और \\' और \u0027 (यूनिकोड ')

मैं अटक

+0

http://stackoverflow.com/a/18612754/1745672 – Mihai

+0

ठीक है, के रूप में मैं अपने सवाल में कहा, मुझे लगता है कि कोशिश की है। – mikeb

+0

डीएएमएन आईएम अंधे .. – Mihai

उत्तर

14

मैं एक ही समस्या थी हूँ का उपयोग कर की कोशिश की है। सबसे आसान समाधान एस्ट्रोफ़े से बचने के लिए एक सिंगल कोट्स के सेट में लपेटने के अलावा बैकस्लैश से बचना है। '\''

अपने उपयोग के मामले में, Mary's से Mary'\''s पर बदलें और इसे काम करना चाहिए।

curl -XPOST 'http://localhost:9290/location/place' -d '{"geoloc": {"lat": "38.1899", "lon": "-76.5087"}, "longitude": "-76.5087", "admin_name1": "Maryland", "admin_name2": "St. Mary'\''s", "admin_name3": "", "postal_code": "20692", "admin_code3": "", "country_code": "US", "admin_code1": "MD", "latitude": "38.1899", "admin_code2": "037", "accuracy": null, "place_name": "Valley Lee"}' 

एक वैकल्पिक दृष्टिकोण बैकस्लैश JSON स्ट्रिंग में दोहरे उद्धरण चिह्नों के सभी नेस्टेड घटनाओं से बचने, जबकि दोहरे उद्धरण में पोस्ट डेटा (-d) रैप करने के लिए है।

curl -XPOST 'http://localhost:9290/location/place' -d "{\"geoloc\": {\"lat\": \"38.1899\", \"lon\": \"-76.5087\"}, \"longitude\": \"-76.5087\", \"admin_name1\": \"Maryland\", \"admin_name2\": \"St. Mary's\", \"admin_name3\": \"\", \"postal_code\": \"20692\", \"admin_code3\": \"\", \"country_code\": \"US\", \"admin_code1\": \"MD\", \"latitude\": \"38.1899\", \"admin_code2\": \"037\", \"accuracy\": null, \"place_name\": \"Valley Lee\"}" 
+1

'\' 'महान काम करता है! धन्यवाद :) –

+1

किसी कारण से मुझे PHP के shell_exec() से कर्ल को कॉल करने के लिए अपने पागल समाधान की आवश्यकता है, भले ही मैं '--data-urlencode' का उपयोग कर रहा हूं, हो सकता है कि लिनक्स स्ट्रिंग को स्ट्रिंग को संसाधित करने से पहले कुछ करे मूड़ना, पेचीदा करना? निश्चित नहीं। –

+0

पहला समाधान मेरे मैक के कंसोल पर काम नहीं करता है, यह उसी प्रभाव को उत्पन्न करता है जैसे कि बच नहीं रहा है। –

संबंधित मुद्दे