[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Attempting to get a file using example7



I think I'm good. I am going to receive the file then append it to a holding file using qsh and the cat command. When the data gets pulled into the RPGLE app the workfile will get cleared.  This will allow more flexibility with timing of both the application that gets the file and the app that processes it. I'll handle the duplicates when processing the file in RPGLE.

Thanks much for your help!!!
Greg

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Ronnie
Sent: Monday, January 14, 2013 2:27 AM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Attempting to get a file using example7

Hi Greg.

I am sure Scott can answer that question better than me, but I don't think so. It would not make sense to have that. Logically I would get the file and make sure there are no errors and then append it to an existing ifs file by another program or import it into a db2 table. This way could also monitor for duplicate records received etc. To just append whatever you get from the server to an existing file is begging for that file to get corrupted.
Just my opinion though.

I am sure Scott could add a parm to HTTP_URL_GET to append if the file exists. But see point 1. :)

Ronnie


-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Leister, Greg
Sent: 11 January 2013 10:45 PM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Attempting to get a file using example7

#2 was it.

I changed URL to Geta and it worked perfect.

Thank you very for your help!

I do have a question now.    Is there any way to issue the HTTP_URL_GET and append to an existing file?

Greg

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Ronnie
Sent: Friday, January 11, 2013 1:56 AM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Attempting to get a file using example7

Hi Greg.

Two things I see.

One
You set Geta to HTTP://www.wwexf.com/keystone/manifest.csv
But your first try was with HTTP://www.wwexf.com/keystone/manifest.prev.csv
Just making sure you have the file name correct.

Two
You set up geta and do the first call rc = http_url_get(geta:getb) which we assume will fail because it requires auth.
Every call after that uses URL as the first parm eg rc = http_url_get(URL: fileg ) but I don't see anywhere where you set it up to be like geta. Shouldn't you be using Geta as the first parameter?

Hope this helps.

Ronnie


-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Leister, Greg
Sent: 10 January 2013 05:18 PM
To: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
Subject: FW: Attempting to get a file using example7




Hello all!

I am attempting to write a program that will "get" a file from a URL. The site requires a user name and password.  I have successfully compiled and run the program listed below. When it runs it does prompt me for the user and then the password. It looks like it is connecting but it is not returning the expected results. If I access the url via IE I can get the file. I have tried numerous ways to format the http_get to no avail.


Can anyone give me some pointers on what might be wrong?

Any help is greatly appreciated.

Thanks,
Greg


****  program  ****  (not production ready)

  SOURCE FILE . . . . . . .  GREG/QRPGLESRC
  MEMBER  . . . . . . . . .  WWWEXAMP7

  SEQNBR*...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 ...+... 9 ...+... 0
      1      H DatFmt(*ISO) Debug(*yes) Option(*SrcStmt:*NoDebugIO)                                                     01/09/13
    100      H DFTACTGRP(*NO) ACTGRP(*NEW) BNDDIR('HTTPAPI')                                                            03/23/06
    200
    300      D/copy qrpglesrc,httpapi_h
    500      D rc              S             10I 0
    600      D err             S             10I 0
    700      D basic           S              1N
    800      D digest          S              1N
    900      D realm           S            124A
   1000      D userid          S             50A
   1100      D pass            S             50A
   1200      D URL             s            256A
   1300      D msg             S             50A
   1301      d fileg           s             25a
   1302      d geta            s             47a
   1303      d getb            s             17a
   1400
   1500      c                   eval      *inlr = *on
   1501      C*
   1502       /free
   1503                           http_debug  (*on:'/temp/wweresponse.txt');
   1504       /end-free
   1600
   1700       ** CHANGE THIS:
   1800       **   this has to be set to the URL of a file on a system that
   1900       **   requires www-authenticate, and you have an account for:
   2000       **
   2001      c                   eval      geta =
   2002      c                             'HTTP://www.wwexf.com/keystone/ma+
   2003      c                             nifest.csv'
   2004      c
   2005      c                   eval      getb = '/tmp/manifest.csv'
   2006
   2007      c                   eval      rc = http_url_get(geta:getb)
   2008      c*                            'HTTP://www.wwexf.com/keystone/ma+
  2009      c*                            nifest.prev.csv':
   2010      c*                            '/tmp/manifest.csv')
   2300
   2400       * The first time we request a document that requires a user/pass
   2500       * it will return a HTTP_NDAUTH error.
   2600       *
   2700       * if that happens, we do the getpasswd subroutine.
   2800       *
   2801      c                   eval      fileg = '/greg/testauth2.html'
   2900      c                   eval      rc = http_url_get(URL: fileg)
   3000      c                   if        rc <> 1
   3100      c                   callp     http_error(err)
   3200      c                   if        err <> HTTP_NDAUTH
   3300      c                   eval      msg = HTTP_ERROR
   3400      c                   dsply                   msg
   3500      c                   return
   3600      c                   endif
   3700      c                   exsr      getpasswd
   3800      c                   endif
   3900
   4000      C*-------------------------------------------------------------
   4100      C* this is called when the web server requests a userid/passwd
   4200      C*-------------------------------------------------------------
   4300      csr   getpasswd     begsr
   4400
   4500      c                   eval      rc = http_getauth(basic: digest: realm)
   4600      c                   if        rc < 0
   4700      c                   eval      msg = HTTP_ERROR
   4800      c                   dsply                   msg
   4900      c                   return
   5000      c                   endif
   5100
   5200      c                   eval      userid = 'enter userid for ' + realm
   5300      c                   dsply                   userid
   5400
   5500      c                   eval      pass = 'enter passwd for ' + realm
   5600      c                   dsply                   pass
   5700
   5800      c                   if        Digest
   5900      c                   callp     http_setauth(HTTP_AUTH_MD5_DIGEST:
   6000      c                                          userid: pass)
   6100      c                   else
   6200      c                   callp     http_setauth(HTTP_AUTH_BASIC:
   6300      c                                          userid: pass)
   6400      c                   endif
   6500
   6501      c                   eval      fileg = '/greg/testauth.html'
   6600      c                   eval      rc = http_url_get(URL: fileg )
   6700      c                   if        rc <> 1
   6800      c                   eval      msg = HTTP_ERROR
   6900      c                   dsply                   msg
   7000      c                   return
   7100      c                   endif
   7200
   7300      csr                 endsr


                                  * * * *  E N D  O F  S O U R C E  * * * *

***  debug respose  file ***

HTTPAPI Ver 1.17 released 2006-09-23

http_getauth(): entered
http_setauth(): entered
http_url_get(): entered
http_persist_open(): entered
http_long_ParseURL(): entered
Converting relative URL.
New URL is http://www.wwexf.com/keystone/
http_persist_get(): entered
http_long_ParseURL(): entered
Converting relative URL.
New URL is http://www.wwexf.com/keystone/
do_get(): entered
GET /keystone/ HTTP/1.1
Host: www.wwexf.com<http://www.wwexf.com>
Authorization: Basic a2V5c3RvbmU6d29ybGR3aWRl
User-Agent: http-api/1.17


recvresp(): entered
HTTP/1.1 200 OK
Date: Thu, 10 Jan 2013 01:43:28 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Wed, 09 Jan 2013 14:16:23 GMT
ETag: "82393f5-30-4d2dbb4fd1bc0"
Accept-Ranges: bytes
Content-Length: 48
Connection: close
Content-Type: text/html; charset=UTF-8


SetError() #13: HTTP/1.1 200 OK
recvdoc parms: identity 48
header_load_cookies() entered
recvdoc(): entered
SetError() #0:
<html>
<body>
Worldwide Express
</body>
</html>

http_close(): entered

***  The File  /tmp/manifest.csv is created but it is empty.


File /greg/testauth.html contains:
<html>
<body>
Worldwide Express
</body>
</html>

And file /greg/testauth2.html is empty




















________________________________

The information contained in this electronic-mail message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this e-mail message in error please call or e-mail the sender and delete the message immediately. Thank you.

________________________________

The information contained in this electronic-mail message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this e-mail message in error please call or e-mail the sender and delete the message immediately. Thank you.
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

________________________________

The information contained in this electronic-mail message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this e-mail message in error please call or e-mail the sender and delete the message immediately. Thank you.
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

________________________________

The information contained in this electronic-mail message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this e-mail message in error please call or e-mail the sender and delete the message immediately. Thank you.
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------