Difference between revisions of "SendHeader"

From Wiki
Jump to: navigation, search
Line 1: Line 1:
{{header|result|rw|The system variable #sendHeader is a variable that lets you add additional header lines to the post request sent by the send command. Each line must be finished with a $ to mark the end.}}
+
{{header|result|rw|The system variable #sendHeader is a variable that lets you add additional header lines to the post request sent by the send command. Each line must be finished with a $ to mark the end.
  
 
For example:
 
For example:
<tt>set #sendheader content-type: , #spc , blabla$line2: , #spc , blabla2$</tt>
+
<pre>set #sendheader content-type: , #spc , blabla$line2: , #spc , blabla2$</pre>
  
 
If #sendheader doesn't contain any $ signs at all then no additional lines will be added to the header. Setting #sendheader to $$$ will obviously mess up the outgoing packet so that is not recommended.
 
If #sendheader doesn't contain any $ signs at all then no additional lines will be added to the header. Setting #sendheader to $$$ will obviously mess up the outgoing packet so that is not recommended.
Line 8: Line 8:
 
First let's look at EUO default format for http requests:
 
First let's look at EUO default format for http requests:
  
<tt>; test1
+
<pre>; test1
send debugHTTPPost localhost /euo/action.php?getVar=getValue postVar=postValue
+
send debugHTTPPost localhost /euo/action.php?getVar<nowiki>=</nowiki>getValue postVar<nowiki>=</nowiki>postValue
halt</tt>
+
halt</pre>
  
 
Outgoing HTTP request:
 
Outgoing HTTP request:
  
<tt>POST /euo/action.php?getvar=getvalue HTTP/1.0 Host: localhost Content-Length: 17 postVar=postValue</tt>
+
<pre>POST /euo/action.php?getvar<nowiki>=</nowiki>getvalue HTTP/1.0 Host: localhost Content-Length: 17 postVar<nowiki>=</nowiki>postValue</pre>
  
 
Supposing you want your HTTP request to be identifiied as issued by EasyUO by adding the directive "User-Agent: EasyUO #cliVer" to the HTTP header:
 
Supposing you want your HTTP request to be identifiied as issued by EasyUO by adding the directive "User-Agent: EasyUO #cliVer" to the HTTP header:
  
<tt>; test2
+
<pre>; test2
 
set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
 
set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
send debugHTTPPost localhost /euo/action.php?getVar=getValue postVar=postValue
+
send debugHTTPPost localhost /euo/action.php?getVar<nowiki>=</nowiki>getValue postVar<nowiki>=</nowiki>postValue
halt</tt>
+
halt</pre>
  
 
Outgoing HTTP request:
 
Outgoing HTTP request:
  
<tt>POST /euo/action.php?getvar=getvalue HTTP/1.0 Host: localhost Content-Length: 17 user-agent: easyuo 4.0.0e postVar=postValue</tt>
+
<pre>POST /euo/action.php?getvar<nowiki>=</nowiki>getvalue HTTP/1.0 Host: localhost Content-Length: 17 user-agent: easyuo 4.0.0e postVar<nowiki>=</nowiki>postValue</pre>
  
A few things are worth mentioning here:
+
If you need to specify more than one http directive, you may use the following syntax:
  
* you cannot SET a value containing spaces to #sendHeader without 'escaping' them using the #spc constant.
+
<pre>set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $ ,
 +
+ Content-type: , #spc , application/x-www-form-urlencoded$</pre>
  
* the value of #sendHeader is converted to lowercase when added to the HTTP header.
+
or
  
*it must be terminated by a single end-of-line symbol '$'. Without this symbol, #sendHeader value will be ignored and not added to the HTTP header.
+
<pre>set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
 +
set #sendHeader #sendHeader , Content-type: , #spc , application/x-www-form-urlencoded$</pre>
  
'''''Warning: Two consecutive '$' will break the header structure and are likely to cause inpredictable results!''
+
In order to reset #sendHeader, try any of these:
'''
+
  
If you need to specify more than one http directive, you may use the following syntax:
+
<pre>set #sendHeader N/A
 +
set #sendHeader invalid content</pre>}}
  
<tt>set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $ ,
+
{{note|Two consecutive '$' will break the header structure and are likely to cause inpredictable results!}}
+ Content-type: , #spc , application/x-www-form-urlencoded$</tt>
+
  
or
 
  
<tt>set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
+
{{note|you cannot SET a value containing spaces to #sendHeader without 'escaping' them using the #spc constant.}}
set #sendHeader #sendHeader , Content-type: , #spc , application/x-www-form-urlencoded$</tt>
+
 
 +
 
 +
{{note|the value of #sendHeader is converted to lowercase when added to the HTTP header.}}
  
In order to reset #sendHeader, try any of these:
 
  
<tt>set #sendHeader N/A
+
{{note|it must be terminated by a single end-of-line symbol '$'. Without this symbol, #sendHeader value will be ignored and not added to the HTTP header.}}
set #sendHeader invalid content</tt>
+
  
 
==== Example ====
 
==== Example ====

Revision as of 18:13, 26 August 2005

The system variable #sendHeader is a variable that lets you add additional header lines to the post request sent by the send command. Each line must be finished with a $ to mark the end.

For example:

set #sendheader content-type: , #spc , blabla$line2: , #spc , blabla2$

If #sendheader doesn't contain any $ signs at all then no additional lines will be added to the header. Setting #sendheader to $$$ will obviously mess up the outgoing packet so that is not recommended.

First let's look at EUO default format for http requests:

; test1
send debugHTTPPost localhost /euo/action.php?getVar=getValue postVar=postValue
halt

Outgoing HTTP request:

POST /euo/action.php?getvar=getvalue HTTP/1.0 Host: localhost Content-Length: 17 postVar=postValue

Supposing you want your HTTP request to be identifiied as issued by EasyUO by adding the directive "User-Agent: EasyUO #cliVer" to the HTTP header:

; test2
set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
send debugHTTPPost localhost /euo/action.php?getVar=getValue postVar=postValue
halt

Outgoing HTTP request:

POST /euo/action.php?getvar=getvalue HTTP/1.0 Host: localhost Content-Length: 17 user-agent: easyuo 4.0.0e postVar=postValue

If you need to specify more than one http directive, you may use the following syntax:

set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $ ,
+ Content-type: , #spc , application/x-www-form-urlencoded$

or

set #sendHeader User-Agent: , #spc , EasyUO , #spc , #cliVer , $
set #sendHeader #sendHeader , Content-type: , #spc , application/x-www-form-urlencoded$

In order to reset #sendHeader, try any of these:

set #sendHeader N/A
set #sendHeader invalid content
Note: Two consecutive '$' will break the header structure and are likely to cause inpredictable results!


Note: you cannot SET a value containing spaces to #sendHeader without 'escaping' them using the #spc constant.


Note: the value of #sendHeader is converted to lowercase when added to the HTTP header.


Note: it must be terminated by a single end-of-line symbol '$'. Without this symbol, #sendHeader value will be ignored and not added to the HTTP header.

Example


set #sendHeader Content-type: , #spc , application/x-www-form-urlencoded$

See also

Main Page Documentation