Parsing out HTTP headers

I'm writing a simple HTTP client and server. I'm looking for an efficent way to parse out the HTTP headers that the server sends. The code below is working for me at the moment but i don't think it's the correct way of going about it.
import java.io.*;
import java.net.*;
import java.util.*;
public final class RequestTEST {
    public static void main(String args[]) throws Exception
           final String CRLF ="\r\n";
           try {
               Socket mySocket = new Socket ("127.0.0.1", 5306 );
               DataOutputStream out = new DataOutputStream(mySocket.getOutputStream());
               InputStream in = mySocket.getInputStream();
               System.out.println("Enter a file name to request");
               String filename = Console.readString();
               String request = "GET /"+filename;
               System.out.println("Sending "+request);
               out.writeUTF( request );
               int bytes = 0;
               boolean header = true;
               while((bytes = in.read()) != -1 && header)
                    if(bytes==10) //Line Feed LF
                         bytes = in.read();
                         if (bytes==13) //Carriage return CR
                         header=false;
               System.out.println(bytes);
               in = mySocket.getInputStream();
               byte[] buffer = new byte[1024];
               FileOutputStream oStream = new FileOutputStream(filename);
               while((bytes = in.read(buffer)) != -1 )
               System.out.println(bytes);
            oStream.write(buffer, 0, bytes);
            oStream.close();
               mySocket.close ();
           catch (Exception exp ){
               exp.printStackTrace();
}I know the code is a little rough but i'm just developing the idea. Only started it today.
Any suggestions or tips on the overall approach to this would be much appreciated.

Maybe use the HttpURLConnection and then getHeaderFields().
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.HttpURLConnection;
public class URLTester
     private final static String PROTOCOL = "http://";
     public static void main(String args[])
          if ( args.length != 1 )
               System.out.println("Usage: java URLTester <url>");
               System.exit(-1);
          String urlString = args[0];
          try
               //  Create URL object from the URL string
               URL url = new URL(PROTOCOL + urlString);
               //  The connection object has information that may be
               //  retrieved without parsing the data returned
               HttpURLConnection conn = (HttpURLConnection)url.openConnection();
               conn.connect();
               //  Get an input stream from the URLConnection object
               InputStreamReader isr = new InputStreamReader( conn.getInputStream() );
               BufferedReader in = new BufferedReader( isr );
               System.out.println( conn.getHeaderField(0) );
               int headers = conn.getHeaderFields().size();
               for (int i = 1; i < headers; i++)
                    System.out.println(conn.getHeaderFieldKey(i)
                         + " : " + conn.getHeaderField(i));
               String line;
               while ( (line = in.readLine() ) != null )
                    System.out.println( line );
               in.close();
          catch(IOException e)
               System.out.println( e );
}

Similar Messages

  • Parsing HTTP Headers

    How can I parse only the HTTP Headers from an InputStream? I just want to parse up to the end of the headers, I want to preserve the body of the message in the stream to be read later by a content decoder or something along those lines.

    Right I already know all of this. First the HTTPURLConnection doesn't have all the features that I want. Second I have already tried creating a parsing routine and for some reason I just can't come up with one that works every time, right now I have...
    sb is a StringBuilder
    in is a DataInputReader
                while ((rdata = in.readLine()) != null && !doneReadingHeader) {
                    sb.append(rdata);
                    sb.append("\n");
                    //If there is a newline?
                    if(rdata.length() < 1) {
                        doneReadingHeader = true;
                }

  • HTTP Headers - enabling caching and compression with the portal?

    Has anyone configured their web server (IIS or Apache) or use a commercial product to flawlessly cache and compress all content generated by the portal?
    Compression and caching is critical for making our portal based applictions work for overseas users. It should be doable, just taking advantage of standard HTTP protocols, but implementing this a complex system like the portal is tricky, we seem to be generating different values in the HTTP Headers for the same types of files (such as CSS).
    We are running Apache so can't take advantage of the built in compression capabilities of the .net portal. We are running the java vervion. 6.1 mp1, sql server 2000 (portal, search, collab, publisher, studio, analytics, custom .net and java portlets on remote server).
    Basically our strategy is to compress all outgoing static and dynamic text content (html, CSS, javascript), and to cache all static files (CSS, javascript, images) for 6 months to a year depending on file type.
    Here are some links on the subjects of caching and compression that I have compiled:
    Caching & Compression info and tools
    http://www.webreference.com/internet/software/servers/http/compression/
    http://www.ibm.com/developerworks/web/library/wa-httpcomp/
    http://www.mnot.net/cache_docs/
    http://www.codeproject.com/aspnet/HttpCompressionQnD.asp?df=100&forumid=322472&exp=0&select=1722189#xx1722189xx
    http://en.wikipedia.org/wiki/Http_compression
    http://perl.apache.org/docs/tutorials/client/compression/compression.html
    https://secure.xcache.com/Page.aspx?c=60&p=590
    http://www.codinghorror.com/blog/archives/000807.html
    http://www.howtoforge.com/apache2_mod_deflate
    http://www.ircache.net/cgi-bin/cacheability.py
    http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/
    http://betterexplained.com/articles/speed-up-your-javascript-load-time/
    http://betterexplained.com/articles/speed-up-your-javascript-load-time/
    http://www.rubyrobot.org/article/5-tips-for-faster-loading-web-sites
    http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
    http://www.gidnetwork.com/tools/gzip-test.php
    http://www.pipeboost.com/
    http://www.schroepl.net/cgi-bin/http_trace.pl
    http://leknor.com/code/gziped.php?url=http%3A%2F%2Fwww.google.com
    http://www.port80software.com/surveys/top1000compression/
    http://www.rexswain.com/httpview.html
    http://www.15seconds.com/issue/020314.htm
    http://www.devwebpro.com/devwebpro-39-20041117DevelopingYourSiteforPerformanceCompressionandOtherServerSideEnhancements.html
    http://www.webpronews.com/topnews/2004/11/17/developing-your-site-for-performance-optimal-cache-control
    http://www.sitepoint.com/print/effective-website-acceleration
    http://nazish.blog.com/1007523/
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/IE_Fiddler2.asp?frame=true
    http://www.fiddlertool.com/fiddler/version.asp
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
    http://www.web-caching.com/cacheability.html
    http://www.edginet.org/techie/website/http.html
    http://www.cmlenz.net/blog/2005/05/on_http_lastmod.html
    http://www.websiteoptimization.com/speed/tweak/cache/
    http://www.webperformance.org/caching//caching_for_performance.html
    http://betterexplained.com/articles/how-to-debug-web-applications-with-firefox/
    Edited by tkoenings at 06/18/2007 6:26 AM

    Hi Scott,
    Does Weblogic platform 8.1 supports netscape? We have developed a portal which
    works perfectly on IE but it dies in netscape. Is netUI tags not supported in
    Netscape?
    Pls reply
    manju
    Scott Dunbar <[email protected]> wrote:
    From a pure HTML perspective Portal does it's rendering with nested
    tables.
    Netscape 4.x and below have terrible performance with nested tables.
    The
    problem is not the Portal server but rather Netscape on the client machine.
    If IE and/or a recent version of Netscape/Mozilla is not possible then
    there are
    really only two options:
    1) Faster client hardware - not likely to be an acceptable solution.
    2) Minimize the number of portlets and the complexity within the portlets.
    Neither of these solutions are a great answer, but the 4.7 series of
    Netscape is
    getting pretty old. Having said that, we've got customers who want to
    continue
    to use IE 4 :)
    Again, though, this problem is, I'm afraid out of our hands. It is the
    client
    rendering time that is the issue.
    cg wrote:
    Does anyone know of any known reasons why the 7.0 (did it also with4.0) portal
    pages can take up to almost 30 seconds to load in Netscape 4.7? I knowit is a
    very generic question but our customer still uses 4.7 and will notuse the portal
    b/c it takes so long to load some of the webapps. What the pages willdo when
    loading is that the headers will come up and when it gets to the bodyof the page
    it seems to stall and then comes up all of a sudden. For some of thepages it
    takes 6 seconds and for others it takes about 24-27 seconds.
    We have suggested using IE only but that is not an option with allof the customers
    and getting a newer version of Netscape is also out of the question.
    Any suggestions would be greatly appreciated.--
    scott dunbar
    bea systems, inc.
    boulder, co, usa

  • Encoding problem (Umlaute) in HTTP-Headers

    Hi!
    I have a servlet that is being called by another server via a POST request.
    The request contains user data in HTTP-headers, and whenever there is a
    German Umlaut in the user's name, it ends up garbled. :(
    The requests character encoding is set to 'ISO-8859-1', according to the servlet
    requests getCharacterEncoding() method.
    I try to copy the value of a header variable into a String like this:
    headerNameValue = request.getHeader("headerNameKey");Which, unfortunatly, doesn't work. For example, the value "G�nter" becomes "G����nter".
    Shouldn't the API take care of the encoding, when the CharacterEncoding is set
    right in the servlet call?
    It looks like it interprets the ISO88591 data as Unicode?
    BTW, I'm on a WebSphere 5 server, with Java 1.4.
    I've been tearing my hair out on this one for days, so any help is highly appreciated.
    Thanks a lot!
    Andreas

    A header variable with the key 'accept-charset' is not sent.
    Only 'accept-encoding', with the value 'gzip, deflate'.
    Like I wrote in my first post, the servlet request's character encoding is set to ISO-8859-1,
    according to the getCharacterEncoding-method.
    I have kind of solved this for now by converting the String 2times back, like this:
    try {
         headerNameValue = new String((new String(headerNameValue.getBytes(),"UTF-8")).getBytes(),"UTF-8");
    } catch (UnsupportedEncodingException e) {
          logger.error("Fehler beim Umwandeln der Umlaute im Benutzernamen.",e);
    }                    }This code converts the '����', that my servlet receives, back to '�'.
    (The first conversion changes the '����' to '��', the second the remaining '��' to '�').
    While this seems to work, I don't think it is the right solution, and I still don't understand what's going on. :)
    Regards,
    Andreas

  • Exclude http headers from reponse??

    Hi all,
    I post data to a server and get response[in xml] back like this
    Socket theSock = new Socket(serverhost,80);
    PrintStream ps = new PrintStream(theSock.getOutputStream());
    ps.println("POST /url HTTP/1.0");
    SAXBuilder builder = new SAXBuilder(); //==<< get reponse
    Document doc = builder.build(theSock.getInputStream());
    .at builder.build I've got "SAXException: Parsing Error : The root element is required in a well-formed document" .
    that because output from theSock.getInputStream() is
    HTTP/1.1 200 OK
    Date: Wed, 04 Jul 2007 10:14:54 GMT
    Content-Length: 105
    Content-Type: text/xml;charset=UTF-8
    Connection: close
    <resp>
    <status>200</status>
    <description>ok</description>
    </resp>I know that if i use HttpURLConnection the response InputStream will not contain http headers. But I'm just curious that with Socket, Is there any trick to get only content from InputStream?

    There is no trick except to use the HttpUrlConnection class. That�s why it was created. It wraps the socket and parses through the headers for you. The socket is very low level and all it sees are bits over an input stream (TCP / UDP). It does not know or care about HTTP which is a protocol on top of TCP.

  • How to set Custom HTTP headers in HTTP binding?

    How to set custom HTTP headers before sending the Rest based request in HTTP binding?

    sharon38_74 wrote:
    they said that our internal application needs to send a "login request" to etran via SSL with the user's information encoded in base 64 format. etran captures the HTTP header containing user authentication and authorization information, and parses the required information from the HTTP header.
    My question is that how I set user information in HTTP header? From my understanding, once I am able to set the user information in HTTP header, it is in base 64 format?Your application need to act like a proxy. You can invoke a HTTP request programmatically using java.net.URLConnection. You can set request headers using URLConnection#setRequestProperty(). Also see the API docs: [http://java.sun.com/javase/6/docs/api/java/net/URLConnection.html]. You only need to know the header field name where to set the Base64-encoded value in. You need to Base64-encode the value yourself.

  • Unblock blacklisted HTTP headers?

    In Flash Player 9.0.124 it's possible to allow the
    Authorization header with an
    <allow-http-request-headers-from> tag in crossdomain.xml.
    Is there a reason why this is not allowed for other blocked
    HTTP headers, especially "Range"?

    Hi,
    Check out the headers property of HTTPService (
    http://livedocs.adobe.com/flex/3/langref/mx/rpc/http/HTTPService.html#headers)
    And URLRequestHeader if you are using a URLLoader.
    But to pass the authorization header, the latest version of
    the flash player requires you to have it specified in the cross
    domain file:
    http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403184&sliceId=1
    For HTTP Status, check out
    this
    link

  • Modify HTTP Headers with FileServlet?

    When I use netscape as a webserver, we can specify HTTP headers that go out
    on all the static content to insure that it is cached on the client for at
    least a few minutes...
    Does anyone know how to do that with WLS?
    The exact header:
    Cache-control: max-age=36000
    this is the context:
    HTTP/1.1 200 OK
    Server: Netscape-Enterprise/4.1
    Date: Mon, 10 Sep 2001 23:46:53 GMT
    Cache-control: max-age=36000
    Content-type: image/gif
    Etag: "c1153a1a-1098-2b-3b9933f8"
    Last-modified: Fri, 07 Sep 2001 20:54:16 GMT
    Content-length: 43
    Accept-ranges: bytes
    This is how we get it in netscape:
    <Object ppath="/usr/netscape/server4/docs/sqa/images/*">
    PathCheck fn="set-cache-control" control="max-age=36000"
    </Object>

    you can access the SOAP headers in the call, but I don't think the HTTP headers are directly available.
    MAriano Benitez
    Join us at BEAParticipate, May 6-9 2007 | Atlanta, Georgia

  • Generate PDF using Managed Bean with custom HTTP headers

    Background
    Generate a report in various formats (e.g., PDF, delimited, Excel, HTML, etc.) using JDeveloper 11g Release 2 (11.1.2.3.0) upon clicking an af:commandButton. See also the StackOverflow version of this question:
    http://stackoverflow.com/q/13654625/59087
    Problem
    HTTP headers are being sent twice: once by the framework and once by a bean.
    Source Code
    The source code includes:
    - Button Action
    - Managed Bean
    - Task Flow
    Button Action
    The button action:
    <af:commandButton text="Report" id="submitReport" action="Execute" />
    Managed Bean
    The Managed Bean is fairly complex. The code to `responseComplete` is getting called, however it does not seem to be called sufficiently early to prevent the application framework from writing the HTTP headers.
    HTTP Response Header Override
    * Sets the HTTP headers required to indicate to the browser that the
    * report is to be downloaded (rather than displayed in the current
    * window).
    protected void setDownloadHeaders() {
    HttpServletResponse response = getServletResponse();
    response.setHeader( "Content-Description", getContentDescription() );
    response.setHeader( "Content-Disposition", "attachment, filename="
    + getFilename() );
    response.setHeader( "Content-Type", getContentType() );
    response.setHeader( "Content-Transfer-Encoding",
    getContentTransferEncoding() );
    Issue Response Complete
    The bean indirectly tells the framework that the response is handled (by the bean):
    getFacesContext().responseComplete();
    Bean Run and Configure
    public void run() {
    try {
    Report report = getReport();
    configure(report.getParameters());
    report.run();
    } catch (Exception e) {
    e.printStackTrace();
    private void configure(Parameters p) {
    p.put(ReportImpl.SYSTEM_REPORT_PROTOCOL, "http");
    p.put(ReportImpl.SYSTEM_REPORT_HOST, "localhost");
    p.put(ReportImpl.SYSTEM_REPORT_PORT, "7002");
    p.put(ReportImpl.SYSTEM_REPORT_PATH, "/reports/rwservlet");
    p.put(Parameters.PARAM_REPORT_FORMAT, "pdf");
    p.put("report_cmdkey", getReportName());
    p.put("report_ORACLE_1", getReportDestinationType());
    p.put("report_ORACLE_2", getReportDestinationFormat());
    Task Flow
    The Task Flow calls Execute, which refers to the bean's `run()` method:
    entry -> main -> Execute -> ReportBeanRun
    Where:
    <method-call id="ReportBeanRun">
    <description>Executes a report</description>
    <display-name>Execute Report</display-name>
    <method>#{reportBean.run}</method>
    <outcome>
    <fixed-outcome>success</fixed-outcome>
    </outcome>
    </method-call>
    The bean is assigned to the `request` scope, with a few managed properties:
    <control-flow-rule id="__3">
    <from-activity-id>main</from-activity-id>
    <control-flow-case id="ExecuteReport">
    <from-outcome>Execute</from-outcome>
    <to-activity-id>ReportBeanRun</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <managed-bean id="ReportBean">
    <description>Executes a report</description>
    <display-name>ReportBean</display-name>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    The `<fixed-outcome>success</fixed-outcome>` strikes me as incorrect -- I don't want the method call to return to another task.
    Restrictions
    The report server receives requests from the web server exclusively. The report server URL cannot be used by browsers to download directly, for security reasons.
    Error Messages
    The error message that is generated:
    Duplicate headers received from server
    Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks.Nevertheless, the report is being generated. Preventing the framework from writing the HTTP headers would resolve this issue.
    Question
    How can you set the HTTP headers in ADF while using a Task Flow to generate a PDF by calling a managed bean?
    Ideas
    Some additional ideas:
    - Override the Page Lifecycle Phase Listener (`ADFPhaseListener` + `PageLifecycle`)
    - Develop a custom Servlet on the web server
    Related Links
    - http://www.oracle.com/technetwork/middleware/bi-publisher/adf-bip-ucm-integration-179699.pdf
    - http://www.slideshare.net/lucbors/reports-no-notes#btnNext
    - http://www.techartifact.com/blogs/2012/03/calling-oracle-report-from-adf-applications.html?goback=%2Egde_4212375_member_102062735
    - http://docs.oracle.com/cd/E29049_01/web.1112/e16182/adf_lifecycle.htm#CIABEJFB
    Thank you!

    The problem was that the HTTP headers were in fact being written twice:
    1. The report server was returning HTTP response headers.
    2. The bean was including its own HTTP response headers (as shown in the question).
    3. The bean was copying the entire contents of the report server response, including the headers, into the output stream.
    Firefox ignored the duplicate header errors, but Google Chrome did not.

  • Acrobat Reader X stores PDFs in Temp-folder even when HTTP-headers say no-cache no-store

    After updating from Acrobat Reader 9 to 10 we have noticed that PDFs viewed in the browser are left behind in the Temp-folder even after the browser has been closed.
    Http-headers in the response from the server
    Cache-Controls: no-cache,no-store,max-age=0,post-check=0,pre-check=0
    Content-Type: application/pdf
    Content-Disposition: inline; filename="xxxxxxxx.pdf"
    Expires: 0
    Pragma: no-cache
    Folder: [User-folder]\AppData\Local\Temp
    Filename-format: PDFxxx.tmp
    Browsers: Firefox 3.6, Opera 11, Safari 5
    Plugin: Acrobat Reader 10
    Simply add a .pdf extension to the file and open again in Acrobat Reader. Since the server has set headers indicating that this PDF should not be stored locally, it is a severe security hole leaving traces of this PDF on the filesystem.
    Is this a problem Adobe is aware of? When can we expect this to be fixed?
    Regards,
    Gustav

    Hi Michael,
    Thank you for you quick response!
    In Acrobat 9, I cannot find the PDFs in the Temp-folder after the browser has been closed.
    In Acrobat 10, PDFs are left behind in the Temp-folder even after browser close.
    To me, this looks like a bug in Acrobat 10. Would you not agree?
    Regards,
    Gustav

  • Using custom http headers in SOAP sender adapter

    Hi,
    my problem is exactly the same as reported [here|Re: SOAP Sender - Extract Header Values;] and [here|Variable Transport Binding - Soap Sender;
    Basically I'd like to send through the soap sender adapter some custom http headers. I check the necessary options in the advanced tab (set adapter-specific message attributes and variable transport binding), and in the variable header one I put x-StoreCode, which is the same http header I send to PI.
    But I won't see anything in the dynamic configuration section when the message is persisted in PI.
    Very surprised that I've seen this issue is a common problem others have faced before without success.
    Thanks!

    Hi Michal,
    the extra info I'm trying to send separated from the message is an http header, not part of the query string.
    If I incorporate the extra info as a parameter to the query string like this, for example:
    http://host:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true
    Then I can see the value in the dynamic configuration section:
    <SAP:Record namespace="http://sap.com/xi/XI/System/SOAP" name="SQueryString">senderParty=&senderService=S1&receiverParty=&receiverService=&interface=Int&interfaceNamespace=urn:test&x-StoreCode=13&nosoap=true</SAP:Record>
    But what I'm trying to do shoould be possible, according to sap help:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm (section Define Adapter-Specific Message Attributes)

  • Error SOAP: call failed: java.io.IOException: Read timed out; HTTP 200 OK

    Hi PI gurus,
      Need some suggestions on one issue below -
      Scenario - proxy (SAP) to SOAP (Web based system)
      In the RWB Communication Channel Monitirong we are receiving the below error
      " Error SOAP: call failed: java.io.IOException: Read timed out; HTTP 200 OK"
    the request from XI system is going to target system and printing the lables (as per the functionality) with no issues but the comminication channel is giving the above error and this is causing the repeated sending the same request to target sytem and the data is printing repeateadly. This issues is occuring in Quality environment.
    Strangley the same Interface with the same connectivity details is working fine in Development environment. But not working in Quality environment. Checked the firewalls settings on both in XI and Target system side and confirmed that everything is fine.
    Below are the Logs both from Quality and developement are as follows
    Quality ( Failure Case) 
    17.03.2011 07:19:59 Success SOAP: request message entering the adapter with user J2EE_GUEST
    17.03.2011 07:25:03 Error SOAP: call failed: java.io.IOException: Read timed out; HTTP 200 OK
    Development     (Success ful)
    17.03.2011 07:27:55 Success SOAP: request message entering the adapter with user J2EE_GUEST
    17.03.2011 07:27:58 Success SOAP: completed the processing
    When we checked with basis team on user id J2EE_GUEST,  they confirmed that they are same in Development and Quality.
    I repeat,, that the same target url and everthing is same in XI Configuration
    Thanks in Advance. Points would be rewared for the best solution.
    Thanks,
    Jitender

    HI Jitender,
          If your scenariois working in DEV and if it is not working in QAS.Could you please check if both the systems are at same patch levels..
    Please refer below notes :1551161,817894,952402.
    Cheers!!!
    Naveen.

  • Biztalk 2013 WCF-WebHTTP Adapter - Outbound HTTP Headers

    Hi
    I have a requirement to connect to a service using the WCF-WebHTTP adapter that requires authentication to be passed in the Headers.
    A usercode and password is sent in the intial header and a security token is returned in the response header.
    This security token is then used in the header of each subsequent call to the service.
    I could not find anything in the documentation about getting and setting the "HTTP Header" data using maps or variables or using variables in the "Outbound HTTP Headers" on the adapter transport properties.
    Any help on this would be gratefully received.
    Malcolm

    You can set the outbound HTTP header in WCF-WebHTTP adapter by 2 ways
    1) At adapter level Change adapter properties
    2)Changing Message context property at Orchestration or at pipeline
    Its been well documented here
    http://blog.codit.eu/post/2013/04/30/Using-HttpHeaders-with-WCF-WebHttp-Adapter-on-Biztalk-2013.aspx
    Thanks
    Abhishek

  • Read CLOB and parse out records

    I have a table that features an XMLTYPE column containing CLOB data with XML and HTML content in it. I'm not quite sure how I can parse out the [CDATA] section and create a unique list of IDs contained within the javascript:openLink() string. Any ideas? I've tried searching the forums for how to read a CLOB and parse out each line, but didn't find the results I was looking for.
    I've provided a sample of some of the content in this column:
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1008)">2006 Newsletters</A>
    </P>
    ]]></html>
    I basically need to output a list of IDs:
    LinkID
    1010
    1009
    1008

    Sorry...I thought I could figure things out based on your example, but I 'm not sure if 10g supports noentityescaping clause. Do you happen to know what I would need to substitute it with? To my understanding the XMLELEMENT function takes a name for "identifier," although I'm not quite sure in this case what the identifier should be...an XML tag value?
    This is SQL I tried to run but not getting any results:
    SELECT t2.*
    FROM (SELECT pagecontent
    FROM tb_rh_page
    WHERE pageid = 1) T,
    XMLTABLE('a/@href' PASSING XMLELEMENT(noentityescaping, EXTRACTVALUE(T.pagecontent,'/p_PAGECONTENT/Controls/divTopLeft/html/text()')).EXTRACT('//a')
    COLUMNS linkid integer PATH 'ora:replace(.,"[^[:digit:]]","")') t2
    Also the HTML is a little deeper in the XML than I originally posted, so I'm not sure if I'm getting to the path correctly.
    Here's what the data looks like in the column:
    <p_PAGECONTENT>
    <PageName/>
    <Title/>
    <Roles/>
    <Controls>
    <PageTool>
    <visible>false</visible>
    </PageTool>
    <divTopLeft>
    <visible>true</visible>
    <style>font-size:larger;overflow:auto;FILTER: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#3b6f9f, EndColorStr=#e6eff6);Height:560px;background-color:#003366;border-bottom-width: 1px;border-color: #c6ddf1;border-left-width: 1px;border-right-width: 1px;border-style: Solid;border-top-width: 1px;</style>
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(2008)">2006 Newsletters</A>
    </P>
    ]]></html>
    </divTopLeft>
    <divTopRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divTopRight>
    <divBottomLeft>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomLeft>
    <divBottomRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomRight>
    </Controls>
    </p_PAGECONTENT>

  • How to Parse different HTTP response efficiently ... ?

    how to Parse different HTTP response efficiently ... ?

    1. Last time I helped you I didn't get any response back.
    2. How is this question related to Swing?
    3. Your question has too many details...
    4. No help for you.

Maybe you are looking for

  • [SOLVED]I can't connect to wireless networks.

    Hi all, i'm new in the world of Arch Linux but not on the Linux world. I'm having problems with wireless networks, and i had read all what the wiki says and tried all but nothing worked. I wanna say that wired works perfect. I think the problem comes

  • Where's the best place to report a bug?

    I've found what I believe to be a solid, reproducible bug in ID CC 2014. Where is the best place to report this to Adobe? Allan

  • Hardware encoding for mpeg2 and h264

    Hi Folks, I'm looking to clear up the bottleneck of processing mpeg2s. I have a 2009 quadcore mac pro and it's not bad for speed, but I just finished a 36 hour video transfer to DVD for a client and the processing took 4.5 nights (I ran my files over

  • Como faço para colocar músicas como toques

    Não consigo colocar músicas como toque no celular.

  • FLVplayer question: preview or opening image??

    I hope I am placing this question in the right forum. I have searched everywhere trying to find the answer... I am using Dreamweaver CS4 to insert a FLV video into a web page. Dreamweaver automatically uses FLVPlayer as the flash player. All is worki