Hallo,
ich wuerde gerne eine automatische Suchanfrage an apple.com senden um den Servicestatus eines Geraets zu ueberpruefen
Bisher habe ich:
Das Problem ist, dass die dann auf meiner Festplatte gespeicherte Seite nicht die Seite ist, die kommt wenn ich regulaer nach der Seriennummer (=sn in den URL Parametern) suche.
In der regulaeren Seite finden sich folgende Zeilen zusaetzlich:
In der generierten Datei ist dagegen viel weiter oben nur ein:
zu finden.
Ich hoffe jemand kann mir sagen wie ich meine Anfrage in Java gestalten muss so dass ich die richtige Seite vom Socket lesen kann.
Vielen Dank!
ich wuerde gerne eine automatische Suchanfrage an apple.com senden um den Servicestatus eines Geraets zu ueberpruefen
Bisher habe ich:
Code:
public void sendPostApple()throws Exception{
String url = "https://selfsolve.apple.com/wcResults.do";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add reuqest header
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
String urlParameters = "sn=DNPKHDMCDTTP&cn=&locale=&caller=&num=466696";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("Sending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
File f = new File("c:\\appletest.html");
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
for (String line; (line = in.readLine()) != null;) {
bw.write(line);
bw.newLine();
}
bw.close();
Das Problem ist, dass die dann auf meiner Festplatte gespeicherte Seite nicht die Seite ist, die kommt wenn ich regulaer nach der Seriennummer (=sn in den URL Parametern) suche.
In der regulaeren Seite finden sich folgende Zeilen zusaetzlich:
HTML:
warrantyPage = new WCPage();
warrantyPage.warrantycheck.initialize(562243);
warrantyPage.warrantycheck.hidePanel();
$('cookieSpinner').hide();
warrantyPage.warrantycheck.hideRow('iphonenotactivated');
$('results').show();
warrantyPage.warrantycheck.showTitle('status');
var regTextKeyLong = 'A validated purchase date lets Apple quickly find your product and provide the help you need.';
$('registration-text').update(regTextKeyLong);
warrantyPage.setClassAndShow('registration', 'green', 'registration-true');
warrantyPage.warrantycheck.displayProductInfo('https://km.support.apple.com.edgekey.net/kb/securedImage.jsp?configcode=DTTP&size=72x72', 'iPhone 5', false,'DNPKHDMCDTTP', false, '', 'DNPKHDMCDTTP');
warrantyPage.warrantycheck.displayPHSupportInfo( false, 'Telephone Technical Support: Expired', 'You are eligible to purchase telephone technical support from an Apple Advisor.', 'https://expresslane.apple.com/GetproductgroupList.do?serialno=DNPKHDMCDTTP&locale=en_US');
warrantyPage.warrantycheck.displayHWSupportInfo(true, 'Repairs and Service Coverage: Active', 'Your product is covered for eligible hardware repairs and service under Apple's Limited Warranty.<br/>Estimated Expiration Date: April 11, 2014<br/><a href="http://support.apple.com/kb/he44">Learn about Apple's coverage information for your product.</a>', 'https://selfsolve.apple.com/GetWarranty.do?sn=DNPKHDMCDTTP&locale=en_US');
warrantyPage.warrantycheck.displayEligibilityInfo('LI', false, '', 'DNPKHDMCDTTP', 'We're sorry, but this product is not eligible for an AppleCare agreement.', '/AgrOfferFlow.do','USA','APP','oesBxmqd7Pfs1TpmV2ejSg==', false);
warrantyPage.warrantycheck.displayDisputeInfo('<div class="sosumi">If you believe the information shown for your product is incorrect, you can <a href="https://selfsolve.apple.com/Dispute.do?transType=Warranty_Checker&sn=DNPKHDMCDTTP" id="hardware-epop" target="_blank">submit your proof of purchase online</a> or by fax. Your sales receipt is needed for Apple's 1-year limited warranty and AppleCare Protection Plan validation, so be sure to keep it in a safe place. Apple's 1-year limited warranty is the same whether or not you register. <br /><br /><FONT COLOR="black"><b>Important:</b> Apple's 1-year limited warranty and AppleCare Protection Plan benefits are in addition to rights provided by consumer law. For details, <a href="http://www.apple.com/legal/warranty/Additional_Legal_Rights_for_Consumers.html" target="_blank">click here</a>. If you believe you have a valid consumer law claim, please <a href="http://support.apple.com/kb/HE57">contact us</a>.</FONT></div>');
//Begin:Added json Object:Espressp #14774083
var jsonObj = {
'phoneSupportHasCoverage' : false,
'hwSupportHasCoverage' : true,
'hwSupportCoverageValue' : 'LI',
'hasActiveAPP': false,
'isAPPEligible' : false,
'isPPIEligible' : false,
'productType' : 'iPhone',
'numDaysSinceDOP': '315',
'hasTechToolDownload': false
};
warrantyChecker.trackOmnitureResults(jsonObj);
//End:Added json Object:Espressp #14774083
In der generierten Datei ist dagegen viel weiter oben nur ein:
HTML:
strSysProWCResp ="";
zu finden.
Ich hoffe jemand kann mir sagen wie ich meine Anfrage in Java gestalten muss so dass ich die richtige Seite vom Socket lesen kann.
Vielen Dank!