Curl aggiunge per impostazione predefinita intestazioni quali Content-type e User-agent. Normalmente è una buona cosa, ma sto provando a testare cosa fa il nostro server quando mancano quelle intestazioni. Il mio problema è con l'intestazione del tipo di contenuto. Se manca, il server presume correttamente che l'utente abbia inviato json. Tuttavia, il curl aggiunge effettivamente l'intestazione mancante e assume erroneamente che il contenuto che sto postando application/x-www-form-urlencoded. Invia anche un'intestazione Accept di /. Suppongo che sia un buon comportamento predefinito, ma fondamentalmente mi piacerebbe che non mandasse intestazioni che non ho specificato. C'è un'opzione per questo?Come rimuovere le intestazioni predefinite che arricciano le mandate
curl -v -X POST 'https://domain.com' -d '{...}'
> User-Agent: curl/7.37.1
> Host: domain.com
> Accept: */*
> Content-Length: 299
> Content-Type: application/x-www-form-urlencoded
Per rimuovere le intestazioni proxy, sostituire -H per --proxy-header, ad es. '--proxy-header" Proxy-Connection: "' –
Usando la shell standard di Windows ('cmd.exe') ho dovuto sostituire le virgolette singole con virgolette doppie (o rimuoverle del tutto). – MrWhite
'-H 'User-Agent:'' rimuove l'intestazione come previsto (nessuna intestazione e nessun valore verrà inviato) ma attenzione con '-H 'Content-Type:'' che ** invierà un'intestazione con valore vuoto ** . È strano il diverso comportamento del comando di arricciatura. – mikep