Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
Sử dụng curl giả lập POST request với parameter và file
GET request
curl
để thực hiện một GET request thì thật đơn giản
$ curl http://google.com
POST request giả lập form
curl
để thực hiện POST request thì có thể dùng với parameter để giả lập form
$ curl -F "name=NguyenVanA" -F "age=12" http://google.com
Câu lệnh trên sẽ tương đương với một form
<form method="POST" action="http://google.com">
<input type="hidden" name="name" value="NguyenVanA">
<input type="hidden" name="age" value="12">
<input type="submit" value="submit">
</form>
POST request giả lập form và gửi file
Mở rộng thêm một chút, POST request đi kèm với file gửi sẽ dùng như là
$ curl -F "name=NguyenVanA" -F "age=12" -F "profile_icon=@/path/to/file.ico" -F "png_file=@/path/to/file.png" http://google.com
Form tương ứng sẽ có một file field
<form method="POST" action="http://yourdomain/execute.script" enctype="multipart/form-data">
<input type="hidden" name="name" value="NguyenVanA">
<input type="hidden" name="age" value="12">
<input type="file" name="profile_icon">
<input type="file" name="png_file">
<input type="submit" value="submit">
</form>
POST request lấy parameter từ pipe
Để lấy parameter từ pipe trước ta có thể dùng @-
$ echo "NguyenVanA\n12\nPhuTho" | curl --data-binary @- 'http://localhost:80/'
Ở đây @-
lấy toàn bộ giá trị của pipe trước. Lưu ý là --data-binary
sẽ giữ được dấu xuống dòng \n
trong khi nếu dùng --data
thì sẽ mất dấu xuống dòng. Ở localhost bật netcat lên sẽ thấy kết quả của câu lệnh trên
$ nc -l 80
POST / HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: localhost
Accept: */*
Content-Length: 21
Content-Type: application/x-www-form-urlencoded
NguyenVanA
12
PhuTho
Bình luận

{{ comment.user.name }}
Bỏ hay
Hay

Cùng một tác giả

14
8
Tạo một lúc nhiều file hay directory Tạo một lúc nhiều directory với mkdir và dấu {} bash mkdir {log_1,log_2,log_3} (Ảnh) Tạo một lúc nhiều fi...

9
1
Peco Hôm trước tôi có thấy một bạn cũng hướng dẫn cài đặt và sử dụng peco trên Kipalog ở (Link). Vì vậy phần cài đặt thì các bạn có thể tham khảo ...

8
4
Chuẩn bị Dưới đây là tổng hợp cách dùng câu lệnh awk trên linux. Trong các ví dụ, câu lệnh dùng trước awk là một câu lệnh grep thông thường bash...
Bài viết liên quan

2
0

4
2
Bash script to fast serve Laravel project Lười gõ dòng lệnh quá nên tạo ra cái script để gõ nhanh :D laravelstart.sh /bin/bash if z "$1" ] ...