title: cURL - - digest command
body: <p>Please explain this curl command:</p>
  
  <pre><code>curl --digest \
      -u{username}:{password} \
      -v \
      -X PUT \
      -H 'Expect: ' \
      -H 'Content-type: application/xml' \
      -d @- \
      http://webapi.ebayclassifieds.com/webapi/partners/{username}/ads/{ext-reference-id} \
          &lt; ad.xml 
  </code></pre>
  
  <p>What does the &lt; sign mean?</p>
  
  <p>What I understand:</p>
  
  <pre><code>[--digest] its a digest authentication
  [-u{username}:{password}] obviously username and password
  [-X PUT] method="put"
  [-H 'Expect: '] header = 'Expect: '
  [-H 'Content-type: application/xml'] additional header
  </code></pre>
  
  <p>This is probably what I don't get -d @- url &lt; ad.xml 
  [-d @- <a href="http://webapi.ebayclassifieds.com/webapi/partners/" rel="noreferrer">http://webapi.ebayclassifieds.com/webapi/partners/</a>{username}/ads/{ext-reference-id} &lt; ad.xml ]</p>
  
  <p>What I found:</p>
  
  <blockquote>
    <p>-d, --data </p>
    
    <p>(HTTP) Sends the specified data in a POST request to the HTTP server,
    in the same way that a browser does when a user has filled in an HTML
    form and presses the submit button. This will cause curl to pass the
    data to the server using the content-type
    application/x-www-form-urlencoded. Compare to -F, --form.</p>
    
    <p>-d, --data is the same as --data-ascii. To post data purely binary, you should instead use the --data-binary option. To URL-encode the
    value of a form field you may use --data-urlencode.</p>
    
    <p>If any of these options is used more than once on the same command
    line, the data pieces specified will be merged together with a
    separating &amp;-symbol. Thus, using '-d name=daniel -d skill=lousy' would
    generate a post chunk that looks like 'name=daniel&amp;skill=lousy'.</p>
    
    <p>If you start the data with the letter @, the rest should be a file
    name to read the data from, or - if you want curl to read the data
    from stdin. The contents of the file must already be URL-encoded.
    Multiple files can also be specified. Posting data from a file named
    'foobar' would thus be done with --data @foobar.</p>
  </blockquote>
  
  <p>Leading question:
  If somebody knows how to translate this to cfhttp just dont mind the digest authentication and assume request is working with digest authentication.</p>