2012-02-29 16 views
6

अगर मैं एक सामान्य साइट पर कर्ल के माध्यम से एक अनुरोध कर रहा हैडर डेटा के साथ एक फ़ाइल और इस तरह सामान के उत्पादन के लिए प्रत्यक्ष कर सकते हैं:स्थिति कोड 400 से कर्ल अनुरोध से आउटपुट कैसे प्राप्त करें, भले ही स्थिति कोड 400 हो?

कमान:

curl -is www.google.de > temp.txt 

आउटपुट:

HTTP/1.1 200 OK 
Date: Wed, 29 Feb 2012 16:49:09 GMT 
Expires: -1 
Cache-Control: private, max-age=0 
Content-Type: text/html; charset=ISO-8859-1 
Set-Cookie: PREF=ID=16ad7441d475580e:FF=0:TM=1330534149:LM=1330534149:S=2MpGe04BWQ8Kn3P7; expires=Fri, 28-Feb-2014 16:49:09 GMT; path=/; domain=.google.de 
Set-Cookie: NID=57=BCgUcqNQU5dMWcBEMP85saDNUdXg2_LG4eZFmS-yr1W38UyTNuB8BU8iiOOsK2747WGJG99uJDW6t8N78D4QzBma7q2EmKQ69-gCjOysFNLGFggrvMxcqEOl7p1hemeQ; expires=Thu, 30-Aug-2012 16:49:09 GMT; path=/; domain=.google.de; HttpOnly 
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info." 
Server: gws 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 
Transfer-Encoding: chunked 

<!doctype html><html itemscope itemtype="http://schema.org/WebPage"><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><meta itemprop="image" content="/images/google_favicon_128.png"><title>Google</title><script>window.google={kEI:"BVdOT7OzE8_ktQaqk-WGDw",getEI:function(a){var d;while(a&&!(a.getAttribute&&(d=a.getAttribute("eid"))))a=a.parentNode;return d||google.kEI},https:function(){return window.location.protocol=="https:"},kEXPI:"31701,33551,34324,34904,35055,35091,36604,36683,36716,36946,37017,37055,37126",kCSI:{e:"31701,33551,34324,34904,35055,35091,36604,36683,36716,36946,37017,37055,37126",ei:"BVdOT7OzE8_ktQaqk-WGDw"},authuser:0, 
ml:function(){},kHL:"de",time:function(){return(new Date).getTime()},log:function(a,d,f,h){var e=new Image,g=google,k=g.lc,i=g.li,m="";e.onerror=(e.onload=(e.onabort=function(){delete k[i]}));k[i]=e;if(!f&&d.search("&ei=")==-1)m="&ei="+google.getEI(h);var j=f||"/gen_204?atyp=i&ct="+a+"&cad="+d+m+"&zx="+google.time(),b=/^http:/i;if(b.test(j)&&google.https()){google.ml(new Error("GLMM"),false,{src:j}); 
delete k[i];return}e.src=j;g.li=i... 

जब मैं एक यूआरएल के लिए एक ही अनुरोध करता हूं, जहां प्रतिक्रिया का स्टेटस कोड 400 होगा, तो मुझे एक त्रुटि मिलेगी जो खोल को भेजी जाएगी और फ़ाइल खाली होगी:

curl -is https://foursquare.com/oauth2/access_token?grant_type=authorization_code&client_id=SOME_CLIENT_ID&client_secret=SOME_CLIENT_SECRET&code=notavalidcode&redirect_uri=SOME_REDIRECT_URI > temp.txt

क्या मुझे स्थिति कोड 400 प्राप्त करने पर भी एक परिणाम को परिणाम देने का कोई तरीका है?

उत्तर

16

साथ "

kent$ curl -is "https://foursquare.com/oauth2/access_token?grant_type=authorization_code&client_id=SOME_CLIENT_ID&client_secret=SOME_CLIENT_SECRET&code=notavalidcode&redirect_uri=SOME_REDIRECT_URI" > temp.txt 

kent$ cat temp.txt 
HTTP/1.0 200 Connection established 


HTTP/1.1 400 Bad Request 
Cache-Control: no-cache, private, no-store 
Content-Type: application/json; charset=utf-8 
Date: Wed, 29 Feb 2012 16:59:16 GMT 
Expires: Wed, 29 Feb 2012 16:59:16 GMT 
Pragma: no-cache 
Server: nginx/0.8.52 
Content-Length: 26 
Connection: keep-alive 

{"error":"invalid_client"} 
+0

आप मेरा दिन बना दिया यूआरएल लपेट !!!!! :) धन्यवाद! –

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