Jump to content
trancexx

WinHTTP functions

Recommended Posts

Yes, you have my permission.

...I don't know about ProgAndy though. Send him PM or dozen maybe asking that.

I won't allow it, although WinHTTP supports https.

Just kidding, of course you are allowed to use it


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites

i try using in this script to fill Form in page and its work but i have one problem. in the form i have textarea input.

i am using _WinHttpSimpleFormFill function. and it fill input that the type is "text" but the textarea input its not filling.

this is my form:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="author" content="symen">
        <html dir="rtl">
    <title></title>
</head>
<body>
<form action="remote.php" method="post" name="remote">
<input type='text' name='email' id='email'><br>
<input type='text' name='subject' id='subject'><br>
<textarea style="height: 9em;" name="body" id="body" rows="7" cols="76"></textarea><br>
<input type='submit' value='submit' name='submit'>
</form>
</body>
</html>

and this is my script:

#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include "WinHttp.au3"
Opt("MustDeclareVars", 1)
Global $hOpen = _WinHttpOpen()
Global $hConnect, $sRead

$hConnect = _WinHttpConnect($hOpen, "localhost")
$sRead = _WinHttpSimpleFormFill($hConnect, "remote.html", "name:remote", "email", "MyMail", "subject", "MySubject", "body", "MyBody")
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hConnect)
$sRead = BinaryToString($sRead, 4)
ConsoleWrite($sRead & @CRLF)
_WinHttpCloseHandle($hOpen)

thanks

Share this post


Link to post
Share on other sites

Thats because currently only input control is processed with forms in _WinHttpSimpleFormFill.

Considering it's trivial to add any other (including textarea), I will. Going for it just now.

If you can't wait for the next release I can tell you what to do if you want that example to work. It's just editing one line of the UDF.

Btw, thanks.


♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

This UDF is just what I was looking for! I have an application that needs to do an HTTP Post to an upload API. I searched around the existing documentation and did not see anything that could do it. I would lobby for this to be a standard UDF in the AutoIt package. Nice work and thank you for posting it.


Build your own poker game with AutoIt: pokerlogic.au3 | Learn To Program Using FREE Tools with AutoIt

Share this post


Link to post
Share on other sites

That's great. Glad you like it.

New version is out. It's WinHttp v1.6.1.8.

Main change is ability for _WinHttpSimpleFormFill to process all bunch of controls that could be found within forms. Also there was a glitch when forms were specified by index. In some special cases function would wrongly return "no-form-available" error.

Another new thing is that _WinHttpSimpleFormFill can be used to upload multiple files in one form using alternative way. This is the same way Firefox or Chrome upload multiple selection of files as opposed to recommended and officially described way (RFC2388) that is for example supported by Opera. To access this feature all you have to do is prefix the files string with PHP#50338: string when filling the form. Just to say that this is supported only because PHP (the latest version I checked on - 5.3.1.0) is unable to process multipart/mixed content.

<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml">  <head>      <title>Multiple files upload</title>  </head>  <body>   <h1>Multiupload</h1>    <form action="" method="post" enctype="multipart/form-data">        <input type="file" name="files[]" multiple="multiple" />        <input type="submit" /> </form> <pre>       <?php           print_r($_FILES);       ?>  </pre>  </body></html>

Run that php script on your server as test.php to test it with... this script maybe:

#include "WinHttp.au3"
Opt("MustDeclareVars", 1)

Global $hOpen, $hConnect
Global $sRead, $hFileHTM, $sFileHTM = @ScriptDir & "\Form.htm"

; Initialize and get session handle
$hOpen = _WinHttpOpen()
; Get connection handle
$hConnect = _WinHttpConnect($hOpen, "your.server.here") ; <- your server here
; Fill form on this page
$sRead = _WinHttpSimpleFormFill($hConnect, "test.php", "index:0", "name:files[]", "PHP#50338:" & @ScriptFullPath & "|" & @ScriptFullPath & "|" & @ScriptFullPath)
; Close connection handle
_WinHttpCloseHandle($hConnect)
; Close session handle
_WinHttpCloseHandle($hOpen)

ConsoleWrite($sRead & @CRLF)

If $sRead Then
    MsgBox(64 + 262144, "Done!", "Will open returned page in your default browser now." & @CRLF & _
            "It should show array of uploaded files below the form.")
    $hFileHTM = FileOpen($sFileHTM, 2)
    FileWrite($hFileHTM, $sRead)
    FileClose($hFileHTM)
    ShellExecuteWait($sFileHTM)
EndIf

Fix in _WinHttpGetIEProxyConfigForCurrentUser, few other little things and that's all for this release.

Edited by trancexx

♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

Thanks a lot for this update! However I think _WinHttpSimpleFormFill might be mixing the 'submit' button of the form when there are more than one button like in the problem I posted here:

The problem can also be due to something else but I would appreciate your help.

Share this post


Link to post
Share on other sites

Can you try this version so that I know if there is something wrong with it.

Radios should be included only if explicitly set (only one allowed) and if there are checkboxes then only those that are set, any number of them. "Submit" you want set to True, unless you want the first one.

To preview:

$sRead = _WinHttpSimpleFormFill($hConnect, "whatever you set here", "name:vbform", "name:preview", True, "vB_Editor_001_textarea", "Some text")

... or something like that.


♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

Can you try this version so that I know if there is something wrong with it.

Radios should be included only if explicitly set (only one allowed) and if there are checkboxes then only those that are set, any number of them. "Submit" you want set to True, unless you want the first one.

To preview:

$sRead = _WinHttpSimpleFormFill($hConnect, "whatever you set here", "name:vbform", "name:preview", True, "vB_Editor_001_textarea", "Some text")

... or something like that.

It functions perfectly! I tested also putting more than one radio and only the first one was checked :x , I also tested the checkboxes and not putting the submit button so that the first one is sent and both function as intended. The only difference with the previous versions is that the inputs that are not explicitly set are not left default: they are simply not being sent but for me it's ok that the function behaves like that, if you want something to be sent then you must explicitly set it.

I will report should any bug appears. Thanks again for this great job!

Edited by Mithrandir

Share this post


Link to post
Share on other sites

How get the size of the file before _WinHttpReadData() cause with _WinHttpQueryDataAvailable() @extended I have 3000bytes and the file is over 547 000 bytes :S

Share this post


Link to post
Share on other sites

How get the size of the file before _WinHttpReadData() cause with _WinHttpQueryDataAvailable() @extended I have 3000bytes and the file is over 547 000 bytes :S

Size of what file?

$WINHTTP_QUERY_CONTENT_LENGTH

♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

_WinHttpReceiveResponse($hRequest)
_WinHttpQueryDataAvailable($hRequest)
MsgBox(0,"","Fichier de " & Round(@extended/1024,2) & " Ko")
$taille = 0
Do
    _WinHttpReadData($hrequest, 2)
    $size += @extended
Until @extended = 0

MsgBox(0, "", "Fichier de " & Round($size/1024,2) & " Ko")

The first msgbox show 3.55 Ko and the second 547.9 Ko But I want to know the total size (547.9 Ko) Before reading data

Share this post


Link to post
Share on other sites

If chunked transfer encoding is used you can't. If not you can use _WinHttpQueryHeaders($hRequest, $WINHTTP_QUERY_CONTENT_LENGTH) before you read.

That's what I meant.

Edited by trancexx

♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

I am experimenting problems with a multipart/form-data form: When submitting the preview button of one message manually and tracing the requests with live http headers this is what is being sent:

Content-Type: multipart/form-data; boundary=---------------------------74622663312158
Content-Length: 1366
-----------------------------74622663312158
Content-Disposition: form-data; name="subject"

test
-----------------------------74622663312158
Content-Disposition: form-data; name="addbbcode20"

100
-----------------------------74622663312158
Content-Disposition: form-data; name="helpbox"

Tip: Styles can be applied quickly to selected text.
-----------------------------74622663312158
Content-Disposition: form-data; name="message"

Test of multipart form
-----------------------------74622663312158
Content-Disposition: form-data; name="attach_sig"

on
-----------------------------74622663312158
Content-Disposition: form-data; name="preview"

Preview
-----------------------------74622663312158
Content-Disposition: form-data; name="fileupload"; filename=""
Content-Type: application/octet-stream


-----------------------------74622663312158
Content-Disposition: form-data; name="filecomment"


-----------------------------74622663312158
Content-Disposition: form-data; name="lastclick"

1294759296
-----------------------------74622663312158
Content-Disposition: form-data; name="creation_time"

1294759296
-----------------------------74622663312158
Content-Disposition: form-data; name="form_token"

2cbb2e13e2106a96e7420524c357f6f793bcb7d8
-----------------------------74622663312158--

HTTP/1.1 200 OK
Date: Tue, 11 Jan 2011 15:43:18 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch
X-Powered-By: PHP/5.2.6-1+lenny9
Cache-Control: private, no-cache="set-cookie"
Expires: 0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

But when using _WinHttpSimpleFormFill (Obviously I previously logged in correctly and didn't close $hOpen nor $hConnect):

$sssubmitbutton = "name:preview"
$sRead = _WinHttpSimpleFormFill($hConnect, $actionpage, $sform, _
                $ssubmitbutton, True, _
                "name:subject", $title, _
                "name:message", $message)
FileWrite(@ScriptDir & '/formsubmitted.html', $sRead)

$sRead shows 'The forum you selected does not exist.' . I debugged the function by adding this code in _WinHttpSimpleFormFill right before _WinHttpSendRequest($hRequest, Default, $sAddData) -around line 1450- :

MsgBox(0,'multipartboundary',$sBoundary)
        FileWrite(@ScriptDir&'/boundary.txt',$sBoundary)
        MsgBox(0,'multipartdata',$sAddData)
        FileWrite(@ScriptDir&'/adddata.txt',$sAddData)

And this was being sent as $sBoundary:

----WinHttpBoundaryLine_92487.24529

And this as $sAddData:

------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="subject"

test
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode0"

 B 
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode2"

 i 
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode4"

 u 
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode6"

Quote
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode8"

Code
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode10"

List
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode12"

List=
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addlitsitem"

[*]
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode14"

Img
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode16"

URL
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="addbbcode20"


------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="helpbox"

Tip: Styles can be applied quickly to selected text.
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="message"

Test of multipart form
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="fileupload"


------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="filecomment"


------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="lastclick"

1294765083
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="preview"

Preview
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="creation_time"

1294765083
------WinHttpBoundaryLine_92487.24529
Content-Disposition: form-data; name="form_token"

c2bb0a280ee2b1f39061efe80f2965d408b6bb28
------WinHttpBoundaryLine_92487.24529--

I see that the ------WinHttpBoundaryLine is different as well as many other things are being sent that I didn't set. I read the multipart part of the _WinHttpSimpleFormFill code but I don't know what's wrong. I appreciate any help!

PS: I'm using the version you asked me to test

Edited by Mithrandir

Share this post


Link to post
Share on other sites

Boundary line is ok. Those controls that are there but not set, what are they? Checkboxes?

Can you attach the source with that form like you did in that other thread?

Here is the code of the form:

<form action="./posting.php?mode=post&amp;f=16&amp;sid=73f575aa81812ac94bf5bccad7470143" method="post" name="postform" enctype="multipart/form-data">


<table class="tablebg" width="100%" cellspacing="1">
<tr>
    <th colspan="2"><b>Post a new topic</b></th>
</tr>



<tr>
    <td class="row1" width="22%"><b class="genmed">Subject:</b></td>

    <td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="60" tabindex="2" value="" /></td>
</tr>
<tr>
    <td class="row1" valign="top"><b class="genmed">Message body:</b><br /><span class="gensmall">Enter your message here, it may contain no more than <strong>60000</strong> characters.&nbsp;</span><br /><br />
    
        <table width="100%" cellspacing="5" cellpadding="0" border="0" align="center">
        <tr>
            <td class="gensmall" align="center"><b>Smilies</b></td>

        </tr>
        <tr>
            <td align="center">
                
                    <a href="#" onclick="insert_text(':D', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_biggrin.gif" width="15" height="17" alt=":D" title="Very Happy" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':)', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(';)', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_wink.gif" width="15" height="17" alt=";)" title="Wink" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':(', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_sad.gif" width="15" height="17" alt=":(" title="Sad" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':o', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_surprised.gif" width="15" height="17" alt=":o" title="Surprised" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':shock:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_eek.gif" width="15" height="17" alt=":shock:" title="Shocked" hspace="2" vspace="2" /></a>

                
                    <a href="#" onclick="insert_text(':?', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_confused.gif" width="15" height="17" alt=":?" title="Confused" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text('8-)', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':lol:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_lol.gif" width="15" height="17" alt=":lol:" title="Laughing" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':x', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_mad.gif" width="15" height="17" alt=":x" title="Mad" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':P', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_razz.gif" width="15" height="17" alt=":P" title="Razz" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':oops:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_redface.gif" width="15" height="17" alt=":oops:" title="Embarrassed" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':cry:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_cry.gif" width="15" height="17" alt=":cry:" title="Crying or Very Sad" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':evil:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_evil.gif" width="15" height="17" alt=":evil:" title="Evil or Very Mad" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':twisted:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_twisted.gif" width="15" height="17" alt=":twisted:" title="Twisted Evil" hspace="2" vspace="2" /></a>

                
                    <a href="#" onclick="insert_text(':roll:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_rolleyes.gif" width="15" height="17" alt=":roll:" title="Rolling Eyes" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':!:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_exclaim.gif" width="15" height="17" alt=":!:" title="Exclamation" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':?:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_question.gif" width="15" height="17" alt=":?:" title="Question" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':idea:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_idea.gif" width="15" height="17" alt=":idea:" title="Idea" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':arrow:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_arrow.gif" width="15" height="17" alt=":arrow:" title="Arrow" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':|', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_neutral.gif" width="15" height="17" alt=":|" title="Neutral" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':mrgreen:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_mrgreen.gif" width="15" height="17" alt=":mrgreen:" title="Mr. Green" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':geek:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_geek.gif" width="17" height="17" alt=":geek:" title="Geek" hspace="2" vspace="2" /></a>
                
                    <a href="#" onclick="insert_text(':ugeek:', true); return false;" style="line-height: 20px;"><img src="./images/smilies/icon_e_ugeek.gif" width="17" height="18" alt=":ugeek:" title="Uber Geek" hspace="2" vspace="2" /></a>

                
            </td>
        </tr>

        

        </table>
    
    </td>
    <td class="row2" valign="top">
        <script type="text/javascript">
        // <![CDATA[
            var form_name = 'postform';
            var text_name = 'message';
        // ]]>
        </script>

        <table width="100%" cellspacing="0" cellpadding="0" border="0">

        <tr valign="middle" align="left">
    <td colspan="2">
        <script type="text/javascript">
        // <![CDATA[
        
        // Define the bbCode tags
        var bbcode = new Array();
        var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[__CODE_PROTECTED]JiMzOTssJiMzOTs=[/__CODE_PROTECTED]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]');
        var imageTag = false;
        
        // Helpline messages
        var help_line = {
            b: 'Bold text: [b]text[/b]',
            i: 'Italic text: [i]text[/i]',
            u: 'Underline text: [u]text[/u]',
            q: 'Quote text: [quote]text[/quote]',
            c: 'Code display: [__CODE_PROTECTED]Y29kZQ==[/__CODE_PROTECTED]',
            l: 'List: [list]text[/list]',
            o: 'Ordered list: [list=]text[/list]',
            p: 'Insert image: [img]http://image_url[/img]',
            w: 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url]',
            s: 'Font colour: [color=red]text[/color]  Tip: you can also use color=#FF0000',
            f: 'Font size: [size=85]small text[/size]',
            e: 'List: Add list element',
            d: 'Flash: [flash=width,height]http://url[/flash]',
            t: '{ BBCODE_T_HELP }',
            tip: 'Tip: Styles can be applied quickly to selected text.'
            
        }

        // ]]>
        </script>
        <script type="text/javascript" src="./styles/metalBB/template/editor.js"></script>


        <input type="button" class="btnbbcode" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
        <input type="button" class="btnbbcode" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
        <input type="button" class="btnbbcode" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />

        
            <input type="button" class="btnbbcode" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
        
        <input type="button" class="btnbbcode" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
        <input type="button" class="btnbbcode" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
        <input type="button" class="btnbbcode" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
        <input type="button" class="btnbbcode" accesskey="t" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />               
        
            <input type="button" class="btnbbcode" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
        
            <input type="button" class="btnbbcode" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
        
        <span class="genmed nowrap">Font size: <select class="gensmall" name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" onmouseover="helpline('f')" onmouseout="helpline('tip')">
            <option value="50">Tiny</option>

            <option value="85">Small</option>
            <option value="100" selected="selected">Normal</option>
            
                <option value="150">Large</option>
                
                    <option value="200">Huge</option>
                
        </select></span>

    </td>

</tr>

<tr>
    <td><input type="text" readonly="readonly" name="helpbox" style="width:100%" class="helpline" value="Tip: Styles can be applied quickly to selected text." /></td>
    
        <td class="genmed" align="center">Font colour</td>
    
</tr>

        <tr>
            <td valign="top" style="width: 100%;"><textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" style="width: 98%;"></textarea></td>
            
            <td width="80" align="center" valign="top">

                <script type="text/javascript">
                // <![CDATA[
                    colorPalette('v', 7, 6)
                // ]]>
                </script>
            </td>
            
        </tr>
        </table>
    </td>
</tr>



<tr>
    <td class="row1" valign="top"><b class="genmed">Options:</b><br />

        <table cellspacing="2" cellpadding="0" border="0">
        <tr>
            <td class="gensmall"><a href="./faq.php?mode=bbcode">BBCode</a> is <em>ON</em></td>
        </tr>
        
        <tr>
            <td class="gensmall">[img] is <em>ON</em></td>

        </tr>
        <tr>
            <td class="gensmall">[flash] is <em>OFF</em></td>
        </tr>
        <tr>
            <td class="gensmall">[url] is <em>ON</em></td>
        </tr>

        
        <tr>
            <td class="gensmall">Smilies are <em>ON</em></td>
        </tr>
        </table>
    </td>
    <td class="row2">
        <table cellpadding="1">
        
            <tr>

                <td><input type="checkbox" class="radio" name="disable_bbcode" /></td>
                <td class="gen">Disable BBCode</td>
            </tr>
        
            <tr>
                <td><input type="checkbox" class="radio" name="disable_smilies" /></td>
                <td class="gen">Disable smilies</td>
            </tr>
        
        <tr>

            <td><input type="checkbox" class="radio" name="disable_magic_url" /></td>
            <td class="gen">Do not automatically parse URLs</td>
        </tr>
        
            <tr>
                <td><input type="checkbox" class="radio" name="attach_sig" checked="checked" /></td>
                <td class="gen">Attach a signature (signatures can be altered via the UCP)</td>
            </tr>
        
            <tr>

                <td><input type="checkbox" class="radio" name="notify" /></td>
                <td class="gen">Notify me when a reply is posted</td>
            </tr>
        
        </table>
    </td>
</tr>


    <tr>
        <td class="cat" colspan="2" align="center">

            <input class="btnlite" type="submit" tabindex="5" name="preview" value="Preview" />
            &nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="Submit" />
            &nbsp; <input class="btnlite" type="submit" accesskey="k" tabindex="7" name="save" value="Save" />
            &nbsp; <input class="btnlite" type="submit" accesskey="c" tabindex="9" name="cancel" value="Cancel" />
        </td>
    </tr>

    <tr>

    <th colspan="2">
        <script type="text/javascript">
        // <![CDATA[
            /**
            * Show upload progress bar
            */
            function popup_progress_bar()
            {
                close_waitscreen = 0;
                // no scrollbars
                popup('./posting.php?f=16&amp;mode=popup', 400, 200, '_upload');
            }
        // ]]>
        </script>

        

        Upload attachment
    </th>
</tr>
<tr>
    <td class="row3" colspan="2"><span class="gensmall">If you wish to attach one or more files enter the details below.</span></td>
</tr>

<tr> 
    <td class="row1"><b class="genmed">Filename</b></td> 
    <td class="row2"><input type="file" name="fileupload" size="40" maxlength="262144" value="" class="btnfile" /></td> 

</tr> 
<tr> 
    <td class="row1"><b class="genmed">File comment</b></td> 
    <td class="row2">
        <table border="0" cellspacing="0" cellpadding="2">
        <tr>
            <td><textarea class="post" name="filecomment" rows="3" cols="35"></textarea>&nbsp;</td>
            <td valign="top">
                <table border="0" cellspacing="4" cellpadding="0">
                <tr>

                    <td><input class="btnlite" type="submit" style="width:150px" name="add_file" value="Add the file" onclick="popup_progress_bar();" /></td>
                </tr>
                </table>
            </td>
        </tr>
        </table>
    </td>
</tr> 



<tr>
    <td class="cat" colspan="2" align="center"><input type="hidden" name="lastclick" value="1294784677" />

        <input class="btnlite" type="submit" tabindex="10" name="preview" value="Preview" />
        &nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="11" name="post" value="Submit" />
        
        &nbsp; <input class="btnlite" type="submit" accesskey="c" tabindex="14" name="cancel" value="Cancel" />
    </td>
</tr>
</table>

    <input type="hidden" name="creation_time" value="1294784677" />
<input type="hidden" name="form_token" value="22c268d1b78601a4d075e1c4a7e0611590bd48e6" />

    </form>

Using firebug I saw that the name="addbbcode2" for instance is the button to put bold in the message text. It seems all the buttons like bold,italic,underline are being sent. Maybe it's like what happened in the case of application/x-www-form-urlencoded that by leaving all the fields that were not explicitly set as default, it was actually sending all the objects in the form.

So, isn't this difference:

-----------------------------74622663312158

------WinHttpBoundaryLine_92487.24529

important? I was already going to edit it and I was trying to figure out the sintax of multipart forms reading this . What I find harder to understand is where does this -----------------------------74622663312158 or this ------WinHttpBoundaryLine_92487.24529 come from.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...