<p>κάποιος μπορεί να ζητήσει μόνο τις κεφαλίδες χρησιμοποιώντας http head ως επιλογή <code>-i</code> σε <code>curl(1)</code>.</p><pre><code>$ curl -i / </code></pre><p>τα μακροχρόνια όργανα απόκρισης html είναι ένας πόνος για να μπείτε στην γραμμή εντολών, οπότε θα ήθελα να λάβω μόνο την κεφαλίδα ως ανατροφοδότηση για τα αιτήματά μουpost. ωστόσο, τα head και post είναι δύο διαφορετικές μέθοδοι.</p><p>πώς μπορώ να αποκτήσω μπούκλα για να εμφανίσω μόνο κεφαλίδες απόκρισης σε ένα ερώτημα post;</p>
λήψη μόνο κεφαλίδας απόκρισης από το http post χρησιμοποιώντας περιστροφή
<pre><code>-d, --dump-header &lt;file&gt; write the protocol headers to the specified file. this option is handy to use when you want to store the headers that a http site sends to you. cookies from the headers could then be read in a second curl invocation by using the -b, --cookie option! the -c, --cookie-jar option is however a better way to store cookies. </code></pre><p>και</p><pre><code>-s, --show-error when used with -s, --silent, it makes curl show an error message if it fails. </code></pre><p>και</p><pre><code>-l/--location (http/https) if the server reports that the requested page has moved to a different location (indicated with a location: header and a 3xx response code), this option will make curl redo the request on the new place. if used together with -i/--include or -i/--head, headers from all requested pages will be shown. when authentication is used, curl only sends its credentials to the initial host. if a redirect takes curl to a different host, it won’t be able to intercept the user+password. see also --location-trusted on how to change this. you can limit the amount of redirects to follow by using the --max-redirs option. when curl follows a redirect and the request is not a plain get (for example post or put), it will do the following request with a get if the http response was 301, 302, or 303. if the response code was any other 3xx code, curl will re-send the following request using the same unmodified method. </code></pre><p>από τη σελίδα man. έτσι</p><pre><code>curl -ssl -d - www.acooke.org -o /dev/null </code></pre><p>ακολουθεί τις ανακατευθύνσεις, σκουπίζει τις κεφαλίδες στο stdout και στέλνει τα δεδομένα στο/dev/null (αυτό είναι ένα get, όχι ένα post, αλλά μπορείτε να κάνετε το ίδιο πράγμα με έναpost που ήδη χρησιμοποιούν για δεδομένα posting)</p><p>σημειώστε τον <code>-</code> μετά τον <code>-d</code> που δηλώνει ότι το αρχείο "output" είναι stdout.</p>
<p>στις άλλες απαντήσεις απαιτείται η λήψη του φορέα απάντησης. υπάρχει όμως ένας τρόπος για να κάνουμε ένα αίτημαpost που θα ανακτήσει μόνο την κεφαλίδα:</p><pre><code>curl -s -i -x post http://www.google.com </code></pre><p>ένας <code>-i</code> από μόνος του εκτελεί ένα αίτημα head το οποίο μπορεί να αντικατασταθεί από το <code>-x post</code> για να εκτελέσει ένα post (ή οποιοδήποτε άλλο) αίτημα και να πάρει μόνο τα δεδομένα κεφαλίδας.</p>
<p>η ακόλουθη εντολή εμφανίζει επιπλέον πληροφορίες</p><pre><code>curl -x post http://httpbin.org/post -vvv &gt; /dev/null </code></pre><p>μπορείτε να ζητήσετε από τον διακομιστή να στείλει μόνο head, αντί για πλήρη απάντηση</p><pre><code>curl -x head -i http://httpbin.org/ </code></pre><p><code>note:</code> οι σωστά διαμορφωμένοι/προγραμματισμένοι διακομιστές ιστού θα ανταποκριθούν διαφορετικά από την ανάρτηση, επειδή πρόκειται για ένα ερώτημα head που δεν ζητά post. αλλά λειτουργεί τις περισσότερες φορές</p>
<p>για τα μακρά σώματα αντίδρασης (και διάφορες άλλες παρόμοιες καταστάσεις), η λύση που χρησιμοποιώ είναι πάντα να διοχετεύω <code>less</code>, έτσι</p><pre><code>curl -i https://api.github.com/users | less </code></pre><p>ή</p><pre><code>curl -s -d - https://api.github.com/users | less </code></pre><p>θα κάνει τη δουλειά.</p>
<p>πολύ πιο εύκολο - αυτό είναι που χρησιμοποιώ για να <a href="https://twitter.com/unserkaiser/status/702772546282754048">αποφύγετε την παρακολούθηση shortlink</a> - είναι το ακόλουθο:</p><pre><code>curl -il http://bit.ly/in-the-shadows </code></pre><p><em> ... που ακολουθεί επίσης συνδέσμους </em>.</p>
<p>ενώ οι άλλες απαντήσεις δεν έχουν δουλέψει για μένα σε όλες τις καταστάσεις, η καλύτερη λύση που θα μπορούσα να βρω (που δουλεύει με <code>post</code> επίσης), από <a href="http://www.lornajane.net/posts/2014/view-only-headers-with-curl">εδώ</a> :</p><p><code>curl -vs 'https://some-site.com' 1&gt; /dev/null</code></p>
<p>ίσως είναι λίγο ακραίο, αλλά χρησιμοποιώ αυτή τη σύντομη έκδοση:</p><pre><code>curl -svo. &lt;url&gt; </code></pre><p>εξήγηση:</p><p><code>-v</code> εκτυπώστε τις πληροφορίες εντοπισμού σφαλμάτων (που περιλαμβάνουν κεφαλίδες)</p><p><code>-o.</code> στέλνει δεδομένα ιστοσελίδας (τα οποία θέλουμε να αγνοήσουμε) σε ένα συγκεκριμένο αρχείο, <code>.</code> σε αυτή την περίπτωση, το οποίο είναι ένας κατάλογος και είναι ένας μη έγκυρος προορισμός και κάνει την έξοδο να αγνοηθεί.</p><p><code>-s</code> καμία γραμμή προόδου, καμία πληροφορία σφάλματος (διαφορετικά θα δείτε <code>warning: failed to create the file .: is a directory</code>)</p>