2015-01-02 1 views
3

curl 명령 (게시물)을 netcat 명령으로 변환하려고합니다. curl 명령을 netcat으로 변환 하시겠습니까?

는 이미/GET

curl -v http://localhost:1234/232 

in netcat: 

nc localhost 1234 
GET 232 
HOST: localhost 

같은 것들을 삭제하는 방법을 알아 냈하지만 난 예를 들어 뭔가

를 POST하는 방법을 잘 모릅니다 : 나는 내 길 123

을 가치 2300 저장할
curl -v --data "val=2300" http://localhost:1234/123 

and in netcat: 
nc localhost 1234 
POST 123 
HOST: localhost 

but where do i write my value? 

답변

2
nc localhost 1234 
POST /123 HTTP/1.0 
Content-Length: 8 
Content-Type: application/x-www-form-urlencoded 
\n 
val=2300 

Content-Length 서버를 수 있도록 설정되어 당신이 보내려고 얼마나 많은 데이터를 알고 ("val = 2300"의 문자열 길이). Content-Type은 서버가 데이터가 어떤 형식 (양식 인코딩)인지를 알리는 것입니다. \n은 헤더와 데이터 사이의 HTTP 분리 문자 (빈 줄)입니다.

+0

아 멋지다. 그것은 효과가 있었다 : D. content-lenght가 8이고 왜 type이 application/x-www-form-urlencoded인지 설명해 주시겠습니까? 왜 내가 \ n을 추가해야합니까? – user3717963

+0

게시물을 편집하여 몇 가지를 추가했습니다. curl은 자동으로'-d' 플래그를 기반으로 헤더를 설정합니다; 당신은'curl -v'로 확인할 수 있습니다 –

+0

마지막 질문 : "HOST : localhost"가 필요합니까? 선생님이 코드를 내게 주었고 코드를 입력하지 않아도됩니다. 하지만 언제 추가해야합니까? – user3717963