Charmed Quark Systems, Ltd. - Support Forums and Community
HTTP Post - Printable Version

+- Charmed Quark Systems, Ltd. - Support Forums and Community (https://www.charmedquark.com/vb_forums)
+-- Forum: General Discussion (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=3)
+--- Forum: CQC Support (https://www.charmedquark.com/vb_forums/forumdisplay.php?fid=9)
+--- Thread: HTTP Post (/showthread.php?tid=10589)



HTTP Post - zra - 05-17-2018

Dean, I was wondering if you or anyone else can help me with this:

##########################################################################################
# FUNCTION sendpost
# INPUT - outpost or inpost
# SENDS AN HTML POST TO CQC MASTER SERVER
# RETURNS - NOTHING
##########################################################################################
#
def sendpost(tosend,param):
        httpServ = httplib.HTTPConnection("10.0.1.8", 17942)
        httpServ.connect()

        if tosend == "outpost":
                httpServ.request('POST', '/VanOutRange?1=%s' % param)
                response = httpServ.getresponse()

        elif tosend == "inpost":
                httpServ.request('POST', '/VanInRange?1=%s' % param)
                response = httpServ.getresponse()

        httpServ.close()
# FUNCTION sendpost END
##########################################################################################

This is python code which sends a post to the CQC Html listener with one parameter. 

The parameter is read by the listener as CQCActParm_2. 

Works fine, but I'd like to send more than one parameter. I can't get the python code to work nor can I find any good examples on the net. 

I've tried various forms of: 

httpServ.request('POST', '/VanOutRange?1=%s' % param)

httpServ.request('POST', '/VanOutRange?1=%s2=%s2' % param % param2)

The latter fails with an error. 

Any idea what the right format might be?


RE: HTTP Post - Dean Roddey - 05-17-2018

Keep in mind that the HTTP URL requires an ampersand between the parameters. So, assuming the last one above is correct, you would want to add an ampersand before the first 2.

httpServ.request('POST', '/VanOutRange?1=%s&2=%s2' % param % param2)

Of course ampersand may be a special character in Python, so you might have to escape it to get to be taken literally.


RE: HTTP Post - zra - 05-17-2018

(05-17-2018, 09:35 AM)Dean Roddey Wrote: Keep in mind that the HTTP URL requires an ampersand between the parameters. So, assuming the last one above is correct, you would want to add an ampersand before the first 2.

httpServ.request('POST', '/VanOutRange?1=%s&2=%s2' % param % param2)

Of course ampersand may be a special character in Python, so you might have to escape it to get to be taken literally.

 httpServ.request('POST', '/TempListener1?1=%s&2=%s' % param1&param2)

I tried this and it gives an error. 

Anything else you can see in there that I might try?


RE: HTTP Post - zra - 05-17-2018

BTW, that's a different program than the original code I sent you, but same idea.


RE: HTTP Post - Dean Roddey - 05-17-2018

I know nothing about Python. Is there any way you can see the resulting text that youa re creating? I'm guessing that you don't want the ampersand in the right hand side. That's Python syntax over there. You need it on the left side because that's HTML syntax.


RE: HTTP Post - zra - 05-17-2018

(05-17-2018, 09:59 AM)Dean Roddey Wrote: I know nothing about Python. Is there any way you can see the resulting text that youa re creating? I'm guessing that you don't want the ampersand in the right hand side. That's Python syntax over there. You need it on the left side because that's HTML syntax.

Thanks Dean. 

I can't figure it out. I think that's an outdated way of sending HTML posts and so there aren't any examples. 

It's not a big deal.


RE: HTTP Post - RichardU - 05-18-2018

Maybe try GET instead of post. I'm don't know Python either but I've seen this work better elsewhere.


RE: HTTP Post - zra - 05-18-2018

(05-18-2018, 06:14 AM)RichardU Wrote: Maybe try GET instead of post. I'm don't know Python either but I've seen this work better elsewhere.

Thanks Richard. 

Ill look into that.