我希望在Linux机箱上向Apache服务器发送一个标头。如何通过cURL调用实现这一点?


当前回答

GET:

使用JSON:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource

使用XML:

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://hostname/resource

职位:

对于过帐数据:

curl --data "param1=value1&param2=value2" http://hostname/resource

对于文件上载:

curl --form "fileupload=@filename.txt" http://hostname/resource

RESTful HTTP发布:

curl -X POST -d @filename http://hostname/resource

对于登录站点(auth):

curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/

其他回答

下面是最常见的http方法的一些curl命令。

此处考虑的域对象是

@Data
@NoArgsConstructor
@AllArgsConstructor
@Document
@Validated
public class Movie {
    @Id
    private String id;
    private String name;
    @NotNull
    private Integer year;
    @NotNull
    private List<String> cast;
    private LocalDate release_date;
}

创建后的视频

curl -i \
-d '{"id":1, "name": "Dhoom", "year":2004,"cast":["John Abraham", "Abhishek Bachan"],"release_date": "2004-06-15"}' \
-H "Content-Type: application/json" \
-X POST http://localhost:8080/v1/movies

获取所有视频

curl -i http://localhost:8080/v1/movies

按ID获取服务器

curl -i http://localhost:8080/v1/movies/1

输入更新视频

curl -i \
-d '{"id":1, "name": "Dhoom", "year":2005,"cast":["John Abhraham", "Abhishek Bachhan", "Uday Chopra", "Isha Deol"],"release_date": "2005-03-25"}' \
-H "Content-Type: application/json" \
-X PUT http://localhost:8080/v1/movies/1

删除-MOVIE

curl -i -X DELETE http://localhost:8080/v1/movies/1

使用-H或--header。

手册页:http://curl.haxx.se/docs/manpage.html#-小时

在PHP中:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue'));

或者可以设置多个:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('HeaderName:HeaderValue', 'HeaderName2:HeaderValue2'));

GET(多个参数):

curl -X  GET "http://localhost:3000/action?result1=gh&result2=ghk"

or

curl --request  GET "http://localhost:3000/action?result1=gh&result2=ghk"

or

curl  "http://localhost:3000/action?result1=gh&result2=ghk"

or

curl -i -H "Application/json" -H "Content-type: application/json"  "http://localhost:3000/action?result1=gh&result2=ghk"

您还可以将多个标头、数据(例如JSON)和指定Call方法(POST、GET)发送到单个CUrl调用中,如下所示:

curl -X POST(Get or whatever) \
  http://your_url.com/api/endpoint \
  -H 'Content-Type: application/json' \
  -H 'header-element1: header-data1' \
  -H 'header-element2: header-data2' \

……更多联箱。。。。。。。。。。。。。。。。

  -d '{
  "JsonExArray": [
    {
      "json_prop": "1",
    },
    {
      "json_prop": "2",
    }
  ]
}'