81,094
社区成员
发帖
与我相关
我的任务
分享
Cookie.java
import java.util.HashMap;
import java.util.Map;
public class Cookie {
public native static String getCookie(String url);
static {
try {
System.loadLibrary("Cookie");
}
catch(UnsatisfiedLinkError e) {
System.err.println(e.getMessage());
}
}
}
Cookie.h
#include <jni.h>
/* Header for class pdm_tool_Cookie */
#ifndef _Included_pdm_tool_Cookie
#define _Included_pdm_tool_Cookie
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: pdm_tool_Cookie
* Method: getCookie
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_pdm_tool_Cookie_getCookie
(JNIEnv *, jclass, jstring);
#ifdef __cplusplus
}
#endif
#endif
Cookie.cpp
#include "Cookie.h"
#include <windows.h>
#include <wininet.h>
#include <iostream.h>
/*
* Class: Cookie
* Method: getCookie
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_pdm_tool_Cookie_getCookie
(JNIEnv *env, jclass, jstring jurl)
{
const char *url = env->GetStringUTFChars(jurl, 0);
TCHAR buffer [16384];
DWORD bufferSize = sizeof(buffer)/sizeof(buffer[0]);
BOOL bRes = InternetGetCookie(url, "", buffer, &bufferSize);
env->ReleaseStringUTFChars(jurl, url);
jstring jval = NULL;
if(bRes) {
jval = env->NewStringUTF(buffer);
}
else
{
jval = env->NewStringUTF("");
}
return jval;
}