HttpClient
The DolphinDB httpClient plugin enables you to send HTTP requests and emails conveniently. The plugin uses the third-party library curl for operations related to HTTP.
Installation (with installPlugin
)
Required server version: DolphinDB 2.00.10 or higher
Supported OS: Windows x64, Linux x64, and Linux ARM.
Installation Steps:
(1) Use listRemotePlugins to check plugin information in the plugin repository.
Note: For plugins not included in the provided list, you can install through precompiled binaries or compile from source. These files can be accessed from our GitHub repository by switching to the appropriate version branch.
login("admin", "123456")
listRemotePlugins()
(2) Invoke installPlugin for plugin installation.
installPlugin("httpClient")
(3) Use loadPlugin to load the plugin before using the plugin methods.
loadPlugin("httpClient")
Methods References
httpGet
Syntax
httpGet(url, [params], [timeout], [headers])
Details
Send an HTTP GET request.
Return a dictionary containing the following keys:
- responseCode: HTTP status code.
- headers: HTTP response header.
- text: HTTP response body.
- elapsed: HTTP request elapsed time.
Parameters
- url: A STRING scalar indicating the URL of the HTTP request.
- params: A STRING scalar or a dictionary with STRING keys and values, indicating the parameters of the HTTP request. After specified, params will be appended to the end of url. Suppose url is specified as "http://www.dolphindb.com":
- If params is a string (e.g., "example"), the URL of the HTTP request would be "http://www.dolphindb.com?example";
- If params is a dictionary (e.g., with 2 key-value pairs "name"->"ddb" and "id"->"111"), the URL of the HTTP request would be "http://www.dolphindb.com?id=111&name=ddb".
- timeout: An integer indicating the timeoout duration in milliseconds.
- headers: A STRING scalar or a dictionary with STRING keys and values, indicating the headers of the HTTP request.
- If headers is a dictionary (e.g., with 2 key-value pairs "groupName"->"dolphindb" and "groupId"->"11"), the two headers "groupId:11" and "groupName:dolphindb" will be appended to the HTTP request;
- If headers is a string, it must have the pattern
<key>:<value>
and will be appended as a header to the request.
- config: A dictionary with STRING keys indicating configuration items.
Examples
loadPlugin('/home/DolphinDBPlugin/httpClient/PluginHttpClient.txt');
param = dict(string,string);
header = dict(string,string);
param['name'] = 'example';
param['id'] = '111';
header['groupName'] = 'dolphindb';
header['groupId'] = '11';
//Please set up your own httpServer ex.(python -m SimpleHTTPServer 8900)
url = "localhost:8900";
res = httpGet(url,param,1000,header);
httpPost
Syntax
httpPost(url, [params], [timeout], [headers])
Details
Send an HTTP POST request.
Return a dictionary containing the same keys as httpGet.
Parameters
httpPost contains the same parameters as httpGet.
Examples
loadPlugin('/home/DolphinDBPlugin/httpClient/PluginHttpClient.txt');
param=dict(string,string);
header=dict(string,string);
param['name']='example';
param['id']='111';
header['groupName']='dolphindb';
header['groupId']='11';
//Please set up your own httpServer ex.(python -m SimpleHTTPServer 8900)
url = "localhost:8900";
res = httpPost(url,param,1000,header);
httpPut
Syntax
httpPut(url, [params], [timeout], [headers], [config])
Details
Send an HTTP PUT request.
Return a dictionary containing the same keys as httpGet.
Parameters
httpPut contains the same parameters as httpGet.
httpDelete
Syntax
httpDelete(url, [params], [timeout], [headers], [config])
Details
Send an HTTP DELETE request.
Return a dictionary containing the same keys as httpGet.
Parameters
httpDelete contains the same parameters as httpGet.
emailSmtpConfig
Syntax
emailSmtpConfig(emailName,host,post)
Details
Configure the email server.
Parameters
- emailName: A STRING scalar indicating the domain name of the email address, such as "gmail.com" and "yahoo.com".
- host: A STRING scalar indicating the SMTP server address.
- port: An integer indicating the port number of the email server. The default value is 25.
Examples
emailName = "qq.com";
host = "smtp.qq.com";
port = 25;
emailSmtpConfig(emailName,host,port);
sendEmail
Syntax
sendEmail(userId,pwd,recipient,subject,body)
Details
Send an email.
Return a dictionary containing the following keys:
- userId: The sender's email account.
- recipient: A set of strings indicating the receivers' email accounts.
- responseCode: The response code returned by the HTTP request.
- headers: The headers returned by the HTTP request.
- text: The text returned by the HTTP request.
- elapsed: The time elapsed for the HTTP request.
Note: The DolphinDB httpClient plugin adopts the SMTP (Simple Mail Transfer Protocol) for email transmission. Therefore, the email server must support the SMTP protocol and have the SMTP port open. If the email service provider does not have the SMTP port open by default, it is necessary to enable the SMTP service for the sender's email account. If the provider offers an email authorization code, the parameter pwd should be set to this code instead of the email password.
Parameters
- userId: A STRING scalar indicating the sender’s email account.
- pwd: A STRING scalar indicating the sender’s email password.
- recipient: A STRING scalar or vector indicating the receivers' email accounts.
- subject: A STRING scalar indicating the email theme.
- body: A STRING scalar indicating the email body.
Examples
sendEmail('MailFrom@xxx.com','xxxxx','Maildestination@xxx.com','This is a subject','It is a text');
recipient = 'Maildestination@xxx.com''Maildestination2@xxx.com''Maildestination3@xxx.com';
res = sendEmail('MailFrom@xxx.com','xxxxx',recipient,'This is a subject','It is a text');