Archive

Author Archive

#Teletext #API via XML / SOAP – free to use

teletext

Here was a side project I did some time ago, and I decided to open up the data as an API. It’s free to use, since I’m not sure who would need this data any more!, but it’s the old Teletext system, that used to be popular on TVs, and still lives on in certain countries. This is a data feed of 83 different TV channels around Europe. – It’s free to use, just please provide a link back to the website if you decide to use this API.

The website is at http://www.teletextapi.com/ and you can access the API via http://www.teletextapi.com/api.asmx – It’s a standard ASP.NET ASMX SOAP/ XML based web service.

Enjoy!

 

 

Categories: Uncategorized

#Bing #Image search from C# or #PHP

bing-image

EDIT: NB: This is no longer supported, please see this instead;

https://blog.dotnetframework.org/2017/04/24/bing-image-search-using-cognitive-search/

 

If you want to get an image to represent an arbitrary string in Javascript, then I would recommend the Google Image Search API, but if you want to do it server-side, then I’d recommend instead, the Bing Image search API, which offers 5,000 lookups per month for free. – you’ll need to get a key here : https://datamarket.azure.com/dataset/bing/search before you can use this code.

using System;
using System.Collections.Generic;
using System.Net;
using System.Web.Script.Serialization;

///
/// Summary description for BingImageSearch
///

public class BingImageSearch
{
public static string GetImage(string searchText)
{
var strUrl = “https://api.datamarket.azure.com/Bing/Search/v1/Image?Query= ‘ ” + searchText + “‘&$format=json “;
WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential(“{{KEY}}“, “{{KEY}}“);
var strJson = wc.DownloadString(strUrl);
var oBingSearch = JavascriptDeserialize(strJson);
if (oBingSearch.d.results.Count == 0) return “”;
return oBingSearch.d.results[0].MediaUrl;
}
public static T JavascriptDeserialize(string json)
{
var jsSerializer = new JavaScriptSerializer { MaxJsonLength = Int32.MaxValue };
return jsSerializer.Deserialize(json);
}

public class Thumbnail
{

public string MediaUrl { get; set; }
public string ContentType { get; set; }
public string Width { get; set; }
public string Height { get; set; }
public string FileSize { get; set; }
}

public class Result
{
public string ID { get; set; }
public string Title { get; set; }
public string MediaUrl { get; set; }
public string SourceUrl { get; set; }
public string DisplayUrl { get; set; }
public string Width { get; set; }
public string Height { get; set; }
public string FileSize { get; set; }
public string ContentType { get; set; }
public Thumbnail Thumbnail { get; set; }
}

public class D
{
public List results { get; set; }
public string __next { get; set; }
}

public class BingSearchObject
{
public D d { get; set; }
}
}

What this code does, is that it makes an authenticated HTTP request to azure datamarket, where the Bing API resides. The $format=json specifier is used to ask for the response in JSON format rather than XML.

The JavaScriptSerializer, and the various classes below map the JSON to a .NET object, so you can easily access properties using dot notation. Here, we check that the results count is more than zero, to ensure that there is a valid response and returning an empty string as an error condition rather than throwing an exception.

If, however, you want to use PHP to call the API instead of c#, then here is the equivalent code in PHP

function GetImageFromBing($searchTerm)
{
$URL = “https://api.datamarket.azure.com/Bing/Search/v1/Image?Query='” . urlencode($searchTerm) . “‘&\$format=json”;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_USERPWD, “{{YOUR KEY}}:{{YOUR KEY}}“);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$return = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
echo $error;
$oBingSearch = json_decode($return,true);
$MediaUrl = $oBingSearch[‘d’][‘results’][0][‘MediaUrl’];
return $MediaUrl;
}

header( ‘Location: ‘ . GetImageFromBing(‘red cars’) ) ;

Here, the process is similar to the C# version, however, there is no classes to define the structure of the JSON, so it’s much more loosely typed, but still perfectly usable. One of the ‘Gotya’s’ I found when writing this was the error:

SSL certificate problem: unable to get local issuer certificate

Which is probably down to the use of TLS 1.2 on Azure, but an easy way to get around this is to skip the HTTPS verification process by setting CURLOPT_SSL_VERIFYPEER to false.

Categories: Uncategorized

Process a database of email addresses for real names.

anonymous-user-icon-38989

If you have a mailing list, or database of users and email addresses, but it appears to be full of nicknames and “asdasdasd” nonsense, and you don’t want to send an email saying “Dear asdasdasd”, here’s some code I wrote using the AvatarAPI email resolution service;

static void Main(string[] args)
{
var strSQL = “sp_GetIncompleteNames”;
var dt =Database.PopulateDataTable(strSQL);
var intProgress = 0;
foreach(DataRow dr in dt.Rows)
{
Console.WriteLine(intProgress + ” Of ” + dt.Rows.Count);
var user = profile.Get(dr[“email”].ToString());
if (!string.IsNullOrEmpty(user.Name))
{
var realname = user.Name.Replace(“‘”, “”);
TextInfo textInfo = new CultureInfo(“en-US”, false).TextInfo;
realname = textInfo.ToTitleCase(realname);
strSQL = “update addressbook set name='” + realname + “‘ where email='” + dr[“email”].ToString() + “‘”;
Database.ExecuteNonQuery(strSQL);
}
intProgress++;
Console.Clear();
}
Console.WriteLine(“Finished”);
Console.ReadLine();
}

It runs through each name in under a second, so you can process thousands in a few hours.

 

Categories: Uncategorized

Detect fake / temporary emails with #SQL server

logo

Temporary email services are set up so people can register on a service without disclosing their real email address. But that’s not great for the service provider, so perhaps you’d like to detect / block these temp email addresses. Here’s some SQL to allow you do that:

create table TempEmailDomain
(
domain varchar(100)
)

insert into TempEmailDomain (domain) values (‘0-mail.com’)
insert into TempEmailDomain (domain) values (‘0815.ru’)
insert into TempEmailDomain (domain) values (‘0clickemail.com’)
insert into TempEmailDomain (domain) values (‘0wnd.net’)
insert into TempEmailDomain (domain) values (‘0wnd.org’)
insert into TempEmailDomain (domain) values (’10minutemail.com’)
insert into TempEmailDomain (domain) values (’20minutemail.com’)
insert into TempEmailDomain (domain) values (‘2prong.com’)
insert into TempEmailDomain (domain) values (’30minutemail.com’)
insert into TempEmailDomain (domain) values (‘3d-painting.com’)
insert into TempEmailDomain (domain) values (‘4warding.com’)
insert into TempEmailDomain (domain) values (‘4warding.net’)
insert into TempEmailDomain (domain) values (‘4warding.org’)
insert into TempEmailDomain (domain) values (’60minutemail.com’)
insert into TempEmailDomain (domain) values (‘675hosting.com’)
insert into TempEmailDomain (domain) values (‘675hosting.net’)
insert into TempEmailDomain (domain) values (‘675hosting.org’)
insert into TempEmailDomain (domain) values (‘6url.com’)
insert into TempEmailDomain (domain) values (’75hosting.com’)
insert into TempEmailDomain (domain) values (’75hosting.net’)
insert into TempEmailDomain (domain) values (’75hosting.org’)
insert into TempEmailDomain (domain) values (‘7tags.com’)
insert into TempEmailDomain (domain) values (‘9ox.net’)
insert into TempEmailDomain (domain) values (‘a-bc.net’)
insert into TempEmailDomain (domain) values (‘afrobacon.com’)
insert into TempEmailDomain (domain) values (‘ajaxapp.net’)
insert into TempEmailDomain (domain) values (‘amilegit.com’)
insert into TempEmailDomain (domain) values (‘amiri.net’)
insert into TempEmailDomain (domain) values (‘amiriindustries.com’)
insert into TempEmailDomain (domain) values (‘anonbox.net’)
insert into TempEmailDomain (domain) values (‘anonymbox.com’)
insert into TempEmailDomain (domain) values (‘antichef.com’)
insert into TempEmailDomain (domain) values (‘antichef.net’)
insert into TempEmailDomain (domain) values (‘antispam.de’)
insert into TempEmailDomain (domain) values (‘baxomale.ht.cx’)
insert into TempEmailDomain (domain) values (‘beefmilk.com’)
insert into TempEmailDomain (domain) values (‘binkmail.com’)
insert into TempEmailDomain (domain) values (‘bio-muesli.net’)
insert into TempEmailDomain (domain) values (‘bobmail.info’)
insert into TempEmailDomain (domain) values (‘bodhi.lawlita.com’)
insert into TempEmailDomain (domain) values (‘bofthew.com’)
insert into TempEmailDomain (domain) values (‘brefmail.com’)
insert into TempEmailDomain (domain) values (‘broadbandninja.com’)
insert into TempEmailDomain (domain) values (‘bsnow.net’)
insert into TempEmailDomain (domain) values (‘bugmenot.com’)
insert into TempEmailDomain (domain) values (‘bumpymail.com’)
insert into TempEmailDomain (domain) values (‘casualdx.com’)
insert into TempEmailDomain (domain) values (‘centermail.com’)
insert into TempEmailDomain (domain) values (‘centermail.net’)
insert into TempEmailDomain (domain) values (‘chogmail.com’)
insert into TempEmailDomain (domain) values (‘choicemail1.com’)
insert into TempEmailDomain (domain) values (‘cool.fr.nf’)
insert into TempEmailDomain (domain) values (‘correo.blogos.net’)
insert into TempEmailDomain (domain) values (‘cosmorph.com’)
insert into TempEmailDomain (domain) values (‘courriel.fr.nf’)
insert into TempEmailDomain (domain) values (‘courrieltemporaire.com’)
insert into TempEmailDomain (domain) values (‘cubiclink.com’)
insert into TempEmailDomain (domain) values (‘curryworld.de’)
insert into TempEmailDomain (domain) values (‘cust.in’)
insert into TempEmailDomain (domain) values (‘dacoolest.com’)
insert into TempEmailDomain (domain) values (‘dandikmail.com’)
insert into TempEmailDomain (domain) values (‘dayrep.com’)
insert into TempEmailDomain (domain) values (‘deadaddress.com’)
insert into TempEmailDomain (domain) values (‘deadspam.com’)
insert into TempEmailDomain (domain) values (‘despam.it’)
insert into TempEmailDomain (domain) values (‘despammed.com’)
insert into TempEmailDomain (domain) values (‘devnullmail.com’)
insert into TempEmailDomain (domain) values (‘dfgh.net’)
insert into TempEmailDomain (domain) values (‘digitalsanctuary.com’)
insert into TempEmailDomain (domain) values (‘discardmail.com’)
insert into TempEmailDomain (domain) values (‘discardmail.de’)
insert into TempEmailDomain (domain) values (‘disposableaddress.com’)
insert into TempEmailDomain (domain) values (‘disposeamail.com’)
insert into TempEmailDomain (domain) values (‘disposemail.com’)
insert into TempEmailDomain (domain) values (‘dispostable.com’)
insert into TempEmailDomain (domain) values (‘dm.w3internet.co.ukexample.com’)
insert into TempEmailDomain (domain) values (‘dodgeit.com’)
insert into TempEmailDomain (domain) values (‘dodgit.com’)
insert into TempEmailDomain (domain) values (‘dodgit.org’)
insert into TempEmailDomain (domain) values (‘donemail.ru’)
insert into TempEmailDomain (domain) values (‘dontreg.com’)
insert into TempEmailDomain (domain) values (‘dontsendmespam.de’)
insert into TempEmailDomain (domain) values (‘dump-email.info’)
insert into TempEmailDomain (domain) values (‘dumpandjunk.com’)
insert into TempEmailDomain (domain) values (‘dumpmail.de’)
insert into TempEmailDomain (domain) values (‘dumpyemail.com’)
insert into TempEmailDomain (domain) values (‘e4ward.com’)
insert into TempEmailDomain (domain) values (’email60.com’)
insert into TempEmailDomain (domain) values (’emaildienst.de’)
insert into TempEmailDomain (domain) values (’emailias.com’)
insert into TempEmailDomain (domain) values (’emailigo.de’)
insert into TempEmailDomain (domain) values (’emailinfive.com’)
insert into TempEmailDomain (domain) values (’emailmiser.com’)
insert into TempEmailDomain (domain) values (’emailsensei.com’)
insert into TempEmailDomain (domain) values (’emailtemporario.com.br’)
insert into TempEmailDomain (domain) values (’emailto.de’)
insert into TempEmailDomain (domain) values (’emailwarden.com’)
insert into TempEmailDomain (domain) values (’emailx.at.hm’)
insert into TempEmailDomain (domain) values (’emailxfer.com’)
insert into TempEmailDomain (domain) values (’emz.net’)
insert into TempEmailDomain (domain) values (‘enterto.com’)
insert into TempEmailDomain (domain) values (‘ephemail.net’)
insert into TempEmailDomain (domain) values (‘etranquil.com’)
insert into TempEmailDomain (domain) values (‘etranquil.net’)
insert into TempEmailDomain (domain) values (‘etranquil.org’)
insert into TempEmailDomain (domain) values (‘explodemail.com’)
insert into TempEmailDomain (domain) values (‘fakeinbox.com’)
insert into TempEmailDomain (domain) values (‘fakeinformation.com’)
insert into TempEmailDomain (domain) values (‘fastacura.com’)
insert into TempEmailDomain (domain) values (‘fastchevy.com’)
insert into TempEmailDomain (domain) values (‘fastchrysler.com’)
insert into TempEmailDomain (domain) values (‘fastkawasaki.com’)
insert into TempEmailDomain (domain) values (‘fastmazda.com’)
insert into TempEmailDomain (domain) values (‘fastmitsubishi.com’)
insert into TempEmailDomain (domain) values (‘fastnissan.com’)
insert into TempEmailDomain (domain) values (‘fastsubaru.com’)
insert into TempEmailDomain (domain) values (‘fastsuzuki.com’)
insert into TempEmailDomain (domain) values (‘fasttoyota.com’)
insert into TempEmailDomain (domain) values (‘fastyamaha.com’)
insert into TempEmailDomain (domain) values (‘filzmail.com’)
insert into TempEmailDomain (domain) values (‘fizmail.com’)
insert into TempEmailDomain (domain) values (‘fr33mail.info’)
insert into TempEmailDomain (domain) values (‘frapmail.com’)
insert into TempEmailDomain (domain) values (‘front14.org’)
insert into TempEmailDomain (domain) values (‘fux0ringduh.com’)
insert into TempEmailDomain (domain) values (‘garliclife.com’)
insert into TempEmailDomain (domain) values (‘get1mail.com’)
insert into TempEmailDomain (domain) values (‘get2mail.fr’)
insert into TempEmailDomain (domain) values (‘getonemail.com’)
insert into TempEmailDomain (domain) values (‘getonemail.net’)
insert into TempEmailDomain (domain) values (‘ghosttexter.de’)
insert into TempEmailDomain (domain) values (‘girlsundertheinfluence.com’)
insert into TempEmailDomain (domain) values (‘gishpuppy.com’)
insert into TempEmailDomain (domain) values (‘gowikibooks.com’)
insert into TempEmailDomain (domain) values (‘gowikicampus.com’)
insert into TempEmailDomain (domain) values (‘gowikicars.com’)
insert into TempEmailDomain (domain) values (‘gowikifilms.com’)
insert into TempEmailDomain (domain) values (‘gowikigames.com’)
insert into TempEmailDomain (domain) values (‘gowikimusic.com’)
insert into TempEmailDomain (domain) values (‘gowikinetwork.com’)
insert into TempEmailDomain (domain) values (‘gowikitravel.com’)
insert into TempEmailDomain (domain) values (‘gowikitv.com’)
insert into TempEmailDomain (domain) values (‘great-host.in’)
insert into TempEmailDomain (domain) values (‘greensloth.com’)
insert into TempEmailDomain (domain) values (‘gsrv.co.uk’)
insert into TempEmailDomain (domain) values (‘guerillamail.biz’)
insert into TempEmailDomain (domain) values (‘guerillamail.com’)
insert into TempEmailDomain (domain) values (‘guerillamail.net’)
insert into TempEmailDomain (domain) values (‘guerillamail.org’)
insert into TempEmailDomain (domain) values (‘guerrillamail.biz’)
insert into TempEmailDomain (domain) values (‘guerrillamail.com’)
insert into TempEmailDomain (domain) values (‘guerrillamail.de’)
insert into TempEmailDomain (domain) values (‘guerrillamail.net’)
insert into TempEmailDomain (domain) values (‘guerrillamail.org’)
insert into TempEmailDomain (domain) values (‘guerrillamailblock.com’)
insert into TempEmailDomain (domain) values (‘h.mintemail.com’)
insert into TempEmailDomain (domain) values (‘h8s.org’)
insert into TempEmailDomain (domain) values (‘haltospam.com’)
insert into TempEmailDomain (domain) values (‘hatespam.org’)
insert into TempEmailDomain (domain) values (‘hidemail.de’)
insert into TempEmailDomain (domain) values (‘hochsitze.com’)
insert into TempEmailDomain (domain) values (‘hotpop.com’)
insert into TempEmailDomain (domain) values (‘hulapla.de’)
insert into TempEmailDomain (domain) values (‘ieatspam.eu’)
insert into TempEmailDomain (domain) values (‘ieatspam.info’)
insert into TempEmailDomain (domain) values (‘ihateyoualot.info’)
insert into TempEmailDomain (domain) values (‘iheartspam.org’)
insert into TempEmailDomain (domain) values (‘imails.info’)
insert into TempEmailDomain (domain) values (‘inboxclean.com’)
insert into TempEmailDomain (domain) values (‘inboxclean.org’)
insert into TempEmailDomain (domain) values (‘incognitomail.com’)
insert into TempEmailDomain (domain) values (‘incognitomail.net’)
insert into TempEmailDomain (domain) values (‘incognitomail.org’)
insert into TempEmailDomain (domain) values (‘insorg-mail.info’)
insert into TempEmailDomain (domain) values (‘ipoo.org’)
insert into TempEmailDomain (domain) values (‘irish2me.com’)
insert into TempEmailDomain (domain) values (‘iwi.net’)
insert into TempEmailDomain (domain) values (‘jetable.com’)
insert into TempEmailDomain (domain) values (‘jetable.fr.nf’)
insert into TempEmailDomain (domain) values (‘jetable.net’)
insert into TempEmailDomain (domain) values (‘jetable.org’)
insert into TempEmailDomain (domain) values (‘jnxjn.com’)
insert into TempEmailDomain (domain) values (‘junk1e.com’)
insert into TempEmailDomain (domain) values (‘kasmail.com’)
insert into TempEmailDomain (domain) values (‘kaspop.com’)
insert into TempEmailDomain (domain) values (‘keepmymail.com’)
insert into TempEmailDomain (domain) values (‘killmail.com’)
insert into TempEmailDomain (domain) values (‘killmail.net’)
insert into TempEmailDomain (domain) values (‘kir.ch.tc’)
insert into TempEmailDomain (domain) values (‘klassmaster.com’)
insert into TempEmailDomain (domain) values (‘klassmaster.net’)
insert into TempEmailDomain (domain) values (‘klzlk.com’)
insert into TempEmailDomain (domain) values (‘kulturbetrieb.info’)
insert into TempEmailDomain (domain) values (‘kurzepost.de’)
insert into TempEmailDomain (domain) values (‘letthemeatspam.com’)
insert into TempEmailDomain (domain) values (‘lhsdv.com’)
insert into TempEmailDomain (domain) values (‘lifebyfood.com’)
insert into TempEmailDomain (domain) values (‘link2mail.net’)
insert into TempEmailDomain (domain) values (‘litedrop.com’)
insert into TempEmailDomain (domain) values (‘lol.ovpn.to’)
insert into TempEmailDomain (domain) values (‘lookugly.com’)
insert into TempEmailDomain (domain) values (‘lopl.co.cc’)
insert into TempEmailDomain (domain) values (‘lortemail.dk’)
insert into TempEmailDomain (domain) values (‘lr78.com’)
insert into TempEmailDomain (domain) values (‘m4ilweb.info’)
insert into TempEmailDomain (domain) values (‘maboard.com’)
insert into TempEmailDomain (domain) values (‘mail-temporaire.fr’)
insert into TempEmailDomain (domain) values (‘mail.by’)
insert into TempEmailDomain (domain) values (‘mail.mezimages.net’)
insert into TempEmailDomain (domain) values (‘mail2rss.org’)
insert into TempEmailDomain (domain) values (‘mail333.com’)
insert into TempEmailDomain (domain) values (‘mail4trash.com’)
insert into TempEmailDomain (domain) values (‘mailbidon.com’)
insert into TempEmailDomain (domain) values (‘mailblocks.com’)
insert into TempEmailDomain (domain) values (‘mailcatch.com’)
insert into TempEmailDomain (domain) values (‘maileater.com’)
insert into TempEmailDomain (domain) values (‘mailexpire.com’)
insert into TempEmailDomain (domain) values (‘mailfreeonline.com’)
insert into TempEmailDomain (domain) values (‘mailin8r.com’)
insert into TempEmailDomain (domain) values (‘mailinater.com’)
insert into TempEmailDomain (domain) values (‘mailinator.com’)
insert into TempEmailDomain (domain) values (‘mailinator.net’)
insert into TempEmailDomain (domain) values (‘mailinator2.com’)
insert into TempEmailDomain (domain) values (‘mailincubator.com’)
insert into TempEmailDomain (domain) values (‘mailme.ir’)
insert into TempEmailDomain (domain) values (‘mailme.lv’)
insert into TempEmailDomain (domain) values (‘mailmetrash.com’)
insert into TempEmailDomain (domain) values (‘mailmoat.com’)
insert into TempEmailDomain (domain) values (‘mailnator.com’)
insert into TempEmailDomain (domain) values (‘mailnesia.com’)
insert into TempEmailDomain (domain) values (‘mailnull.com’)
insert into TempEmailDomain (domain) values (‘mailshell.com’)
insert into TempEmailDomain (domain) values (‘mailsiphon.com’)
insert into TempEmailDomain (domain) values (‘mailslite.com’)
insert into TempEmailDomain (domain) values (‘mailzilla.com’)
insert into TempEmailDomain (domain) values (‘mailzilla.org’)
insert into TempEmailDomain (domain) values (‘mbx.cc’)
insert into TempEmailDomain (domain) values (‘mega.zik.dj’)
insert into TempEmailDomain (domain) values (‘meinspamschutz.de’)
insert into TempEmailDomain (domain) values (‘meltmail.com’)
insert into TempEmailDomain (domain) values (‘messagebeamer.de’)
insert into TempEmailDomain (domain) values (‘mierdamail.com’)
insert into TempEmailDomain (domain) values (‘mintemail.com’)
insert into TempEmailDomain (domain) values (‘moburl.com’)
insert into TempEmailDomain (domain) values (‘moncourrier.fr.nf’)
insert into TempEmailDomain (domain) values (‘monemail.fr.nf’)
insert into TempEmailDomain (domain) values (‘monmail.fr.nf’)
insert into TempEmailDomain (domain) values (‘msa.minsmail.com’)
insert into TempEmailDomain (domain) values (‘mt2009.com’)
insert into TempEmailDomain (domain) values (‘mx0.wwwnew.eu’)
insert into TempEmailDomain (domain) values (‘mycleaninbox.net’)
insert into TempEmailDomain (domain) values (‘mypartyclip.de’)
insert into TempEmailDomain (domain) values (‘myphantomemail.com’)
insert into TempEmailDomain (domain) values (‘myspaceinc.com’)
insert into TempEmailDomain (domain) values (‘myspaceinc.net’)
insert into TempEmailDomain (domain) values (‘myspaceinc.org’)
insert into TempEmailDomain (domain) values (‘myspacepimpedup.com’)
insert into TempEmailDomain (domain) values (‘myspamless.com’)
insert into TempEmailDomain (domain) values (‘mytrashmail.com’)
insert into TempEmailDomain (domain) values (‘neomailbox.com’)
insert into TempEmailDomain (domain) values (‘nepwk.com’)
insert into TempEmailDomain (domain) values (‘nervmich.net’)
insert into TempEmailDomain (domain) values (‘nervtmich.net’)
insert into TempEmailDomain (domain) values (‘netmails.com’)
insert into TempEmailDomain (domain) values (‘netmails.net’)
insert into TempEmailDomain (domain) values (‘netzidiot.de’)
insert into TempEmailDomain (domain) values (‘neverbox.com’)
insert into TempEmailDomain (domain) values (‘no-spam.ws’)
insert into TempEmailDomain (domain) values (‘nobulk.com’)
insert into TempEmailDomain (domain) values (‘noclickemail.com’)
insert into TempEmailDomain (domain) values (‘nogmailspam.info’)
insert into TempEmailDomain (domain) values (‘nomail.xl.cx’)
insert into TempEmailDomain (domain) values (‘nomail2me.com’)
insert into TempEmailDomain (domain) values (‘nomorespamemails.com’)
insert into TempEmailDomain (domain) values (‘nospam.ze.tc’)
insert into TempEmailDomain (domain) values (‘nospam4.us’)
insert into TempEmailDomain (domain) values (‘nospamfor.us’)
insert into TempEmailDomain (domain) values (‘nospamthanks.info’)
insert into TempEmailDomain (domain) values (‘notmailinator.com’)
insert into TempEmailDomain (domain) values (‘nowmymail.com’)
insert into TempEmailDomain (domain) values (‘nurfuerspam.de’)
insert into TempEmailDomain (domain) values (‘nus.edu.sg’)
insert into TempEmailDomain (domain) values (‘nwldx.com’)
insert into TempEmailDomain (domain) values (‘objectmail.com’)
insert into TempEmailDomain (domain) values (‘obobbo.com’)
insert into TempEmailDomain (domain) values (‘oneoffemail.com’)
insert into TempEmailDomain (domain) values (‘onewaymail.com’)
insert into TempEmailDomain (domain) values (‘online.ms’)
insert into TempEmailDomain (domain) values (‘oopi.org’)
insert into TempEmailDomain (domain) values (‘ordinaryamerican.net’)
insert into TempEmailDomain (domain) values (‘otherinbox.com’)
insert into TempEmailDomain (domain) values (‘ourklips.com’)
insert into TempEmailDomain (domain) values (‘outlawspam.com’)
insert into TempEmailDomain (domain) values (‘ovpn.to’)
insert into TempEmailDomain (domain) values (‘owlpic.com’)
insert into TempEmailDomain (domain) values (‘pancakemail.com’)
insert into TempEmailDomain (domain) values (‘pimpedupmyspace.com’)
insert into TempEmailDomain (domain) values (‘pjjkp.com’)
insert into TempEmailDomain (domain) values (‘politikerclub.de’)
insert into TempEmailDomain (domain) values (‘poofy.org’)
insert into TempEmailDomain (domain) values (‘pookmail.com’)
insert into TempEmailDomain (domain) values (‘privacy.net’)
insert into TempEmailDomain (domain) values (‘proxymail.eu’)
insert into TempEmailDomain (domain) values (‘prtnx.com’)
insert into TempEmailDomain (domain) values (‘punkass.com’)
insert into TempEmailDomain (domain) values (‘PutThisInYourSpamDatabase.com’)
insert into TempEmailDomain (domain) values (‘qq.com’)
insert into TempEmailDomain (domain) values (‘quickinbox.com’)
insert into TempEmailDomain (domain) values (‘rcpt.at’)
insert into TempEmailDomain (domain) values (‘recode.me’)
insert into TempEmailDomain (domain) values (‘recursor.net’)
insert into TempEmailDomain (domain) values (‘regbypass.com’)
insert into TempEmailDomain (domain) values (‘regbypass.comsafe-mail.net’)
insert into TempEmailDomain (domain) values (‘rejectmail.com’)
insert into TempEmailDomain (domain) values (‘rklips.com’)
insert into TempEmailDomain (domain) values (‘rmqkr.net’)
insert into TempEmailDomain (domain) values (‘rppkn.com’)
insert into TempEmailDomain (domain) values (‘rtrtr.com’)
insert into TempEmailDomain (domain) values (‘s0ny.net’)
insert into TempEmailDomain (domain) values (‘safe-mail.net’)
insert into TempEmailDomain (domain) values (‘safersignup.de’)
insert into TempEmailDomain (domain) values (‘safetymail.info’)
insert into TempEmailDomain (domain) values (‘safetypost.de’)
insert into TempEmailDomain (domain) values (‘sandelf.de’)
insert into TempEmailDomain (domain) values (‘saynotospams.com’)
insert into TempEmailDomain (domain) values (‘selfdestructingmail.com’)
insert into TempEmailDomain (domain) values (‘SendSpamHere.com’)
insert into TempEmailDomain (domain) values (‘sharklasers.com’)
insert into TempEmailDomain (domain) values (‘shiftmail.com’)
insert into TempEmailDomain (domain) values (‘shitmail.me’)
insert into TempEmailDomain (domain) values (‘shortmail.net’)
insert into TempEmailDomain (domain) values (‘sibmail.com’)
insert into TempEmailDomain (domain) values (‘skeefmail.com’)
insert into TempEmailDomain (domain) values (‘slaskpost.se’)
insert into TempEmailDomain (domain) values (‘slopsbox.com’)
insert into TempEmailDomain (domain) values (‘smellfear.com’)
insert into TempEmailDomain (domain) values (‘snakemail.com’)
insert into TempEmailDomain (domain) values (‘sneakemail.com’)
insert into TempEmailDomain (domain) values (‘sofimail.com’)
insert into TempEmailDomain (domain) values (‘sofort-mail.de’)
insert into TempEmailDomain (domain) values (‘sogetthis.com’)
insert into TempEmailDomain (domain) values (‘soodonims.com’)
insert into TempEmailDomain (domain) values (‘spam.la’)
insert into TempEmailDomain (domain) values (‘spam.su’)
insert into TempEmailDomain (domain) values (‘spamavert.com’)
insert into TempEmailDomain (domain) values (‘spambob.com’)
insert into TempEmailDomain (domain) values (‘spambob.net’)
insert into TempEmailDomain (domain) values (‘spambob.org’)
insert into TempEmailDomain (domain) values (‘spambog.com’)
insert into TempEmailDomain (domain) values (‘spambog.de’)
insert into TempEmailDomain (domain) values (‘spambog.ru’)
insert into TempEmailDomain (domain) values (‘spambox.info’)
insert into TempEmailDomain (domain) values (‘spambox.irishspringrealty.com’)
insert into TempEmailDomain (domain) values (‘spambox.us’)
insert into TempEmailDomain (domain) values (‘spamcannon.com’)
insert into TempEmailDomain (domain) values (‘spamcannon.net’)
insert into TempEmailDomain (domain) values (‘spamcero.com’)
insert into TempEmailDomain (domain) values (‘spamcon.org’)
insert into TempEmailDomain (domain) values (‘spamcorptastic.com’)
insert into TempEmailDomain (domain) values (‘spamcowboy.com’)
insert into TempEmailDomain (domain) values (‘spamcowboy.net’)
insert into TempEmailDomain (domain) values (‘spamcowboy.org’)
insert into TempEmailDomain (domain) values (‘spamday.com’)
insert into TempEmailDomain (domain) values (‘spamex.com’)
insert into TempEmailDomain (domain) values (‘spamfree24.com’)
insert into TempEmailDomain (domain) values (‘spamfree24.de’)
insert into TempEmailDomain (domain) values (‘spamfree24.eu’)
insert into TempEmailDomain (domain) values (‘spamfree24.info’)
insert into TempEmailDomain (domain) values (‘spamfree24.net’)
insert into TempEmailDomain (domain) values (‘spamfree24.org’)
insert into TempEmailDomain (domain) values (‘spamgourmet.com’)
insert into TempEmailDomain (domain) values (‘spamgourmet.net’)
insert into TempEmailDomain (domain) values (‘spamgourmet.org’)
insert into TempEmailDomain (domain) values (‘SpamHereLots.com’)
insert into TempEmailDomain (domain) values (‘SpamHerePlease.com’)
insert into TempEmailDomain (domain) values (‘spamhole.com’)
insert into TempEmailDomain (domain) values (‘spamify.com’)
insert into TempEmailDomain (domain) values (‘spaminator.de’)
insert into TempEmailDomain (domain) values (‘spamkill.info’)
insert into TempEmailDomain (domain) values (‘spaml.com’)
insert into TempEmailDomain (domain) values (‘spaml.de’)
insert into TempEmailDomain (domain) values (‘spammotel.com’)
insert into TempEmailDomain (domain) values (‘spamobox.com’)
insert into TempEmailDomain (domain) values (‘spamoff.de’)
insert into TempEmailDomain (domain) values (‘spamslicer.com’)
insert into TempEmailDomain (domain) values (‘spamspot.com’)
insert into TempEmailDomain (domain) values (‘spamthis.co.uk’)
insert into TempEmailDomain (domain) values (‘spamthisplease.com’)
insert into TempEmailDomain (domain) values (‘spamtrail.com’)
insert into TempEmailDomain (domain) values (‘speed.1s.fr’)
insert into TempEmailDomain (domain) values (‘supergreatmail.com’)
insert into TempEmailDomain (domain) values (‘supermailer.jp’)
insert into TempEmailDomain (domain) values (‘suremail.info’)
insert into TempEmailDomain (domain) values (‘teewars.org’)
insert into TempEmailDomain (domain) values (‘teleworm.com’)
insert into TempEmailDomain (domain) values (‘tempalias.com’)
insert into TempEmailDomain (domain) values (‘tempe-mail.com’)
insert into TempEmailDomain (domain) values (‘tempemail.biz’)
insert into TempEmailDomain (domain) values (‘tempemail.com’)
insert into TempEmailDomain (domain) values (‘TempEMail.net’)
insert into TempEmailDomain (domain) values (‘tempinbox.co.uk’)
insert into TempEmailDomain (domain) values (‘tempinbox.com’)
insert into TempEmailDomain (domain) values (‘tempmail.it’)
insert into TempEmailDomain (domain) values (‘tempmail2.com’)
insert into TempEmailDomain (domain) values (‘tempomail.fr’)
insert into TempEmailDomain (domain) values (‘temporarily.de’)
insert into TempEmailDomain (domain) values (‘temporarioemail.com.br’)
insert into TempEmailDomain (domain) values (‘temporaryemail.net’)
insert into TempEmailDomain (domain) values (‘temporaryforwarding.com’)
insert into TempEmailDomain (domain) values (‘temporaryinbox.com’)
insert into TempEmailDomain (domain) values (‘thanksnospam.info’)
insert into TempEmailDomain (domain) values (‘thankyou2010.com’)
insert into TempEmailDomain (domain) values (‘thisisnotmyrealemail.com’)
insert into TempEmailDomain (domain) values (‘throwawayemailaddress.com’)
insert into TempEmailDomain (domain) values (’tilien.com’)
insert into TempEmailDomain (domain) values (‘tmailinator.com’)
insert into TempEmailDomain (domain) values (‘tradermail.info’)
insert into TempEmailDomain (domain) values (‘trash-amil.com’)
insert into TempEmailDomain (domain) values (‘trash-mail.at’)
insert into TempEmailDomain (domain) values (‘trash-mail.com’)
insert into TempEmailDomain (domain) values (‘trash-mail.de’)
insert into TempEmailDomain (domain) values (‘trash2009.com’)
insert into TempEmailDomain (domain) values (‘trashemail.de’)
insert into TempEmailDomain (domain) values (‘trashmail.at’)
insert into TempEmailDomain (domain) values (‘trashmail.com’)
insert into TempEmailDomain (domain) values (‘trashmail.de’)
insert into TempEmailDomain (domain) values (‘trashmail.me’)
insert into TempEmailDomain (domain) values (‘trashmail.net’)
insert into TempEmailDomain (domain) values (‘trashmail.org’)
insert into TempEmailDomain (domain) values (‘trashmail.ws’)
insert into TempEmailDomain (domain) values (‘trashmailer.com’)
insert into TempEmailDomain (domain) values (‘trashymail.com’)
insert into TempEmailDomain (domain) values (‘trashymail.net’)
insert into TempEmailDomain (domain) values (‘trillianpro.com’)
insert into TempEmailDomain (domain) values (‘turual.com’)
insert into TempEmailDomain (domain) values (‘twinmail.de’)
insert into TempEmailDomain (domain) values (‘tyldd.com’)
insert into TempEmailDomain (domain) values (‘uggsrock.com’)
insert into TempEmailDomain (domain) values (‘upliftnow.com’)
insert into TempEmailDomain (domain) values (‘uplipht.com’)
insert into TempEmailDomain (domain) values (‘venompen.com’)
insert into TempEmailDomain (domain) values (‘veryrealemail.com’)
insert into TempEmailDomain (domain) values (‘viditag.com’)
insert into TempEmailDomain (domain) values (‘viewcastmedia.com’)
insert into TempEmailDomain (domain) values (‘viewcastmedia.net’)
insert into TempEmailDomain (domain) values (‘viewcastmedia.org’)
insert into TempEmailDomain (domain) values (‘webm4il.info’)
insert into TempEmailDomain (domain) values (‘wegwerfadresse.de’)
insert into TempEmailDomain (domain) values (‘wegwerfemail.de’)
insert into TempEmailDomain (domain) values (‘wegwerfmail.de’)
insert into TempEmailDomain (domain) values (‘wegwerfmail.net’)
insert into TempEmailDomain (domain) values (‘wegwerfmail.org’)
insert into TempEmailDomain (domain) values (‘wetrainbayarea.com’)
insert into TempEmailDomain (domain) values (‘wetrainbayarea.org’)
insert into TempEmailDomain (domain) values (‘wh4f.org’)
insert into TempEmailDomain (domain) values (‘whyspam.me’)
insert into TempEmailDomain (domain) values (‘willselfdestruct.com’)
insert into TempEmailDomain (domain) values (‘winemaven.info’)
insert into TempEmailDomain (domain) values (‘wronghead.com’)
insert into TempEmailDomain (domain) values (‘wuzup.net’)
insert into TempEmailDomain (domain) values (‘wuzupmail.net’)
insert into TempEmailDomain (domain) values (‘www.e4ward.com’)
insert into TempEmailDomain (domain) values (‘www.gishpuppy.com’)
insert into TempEmailDomain (domain) values (‘www.mailinator.com’)
insert into TempEmailDomain (domain) values (‘wwwnew.eu’)
insert into TempEmailDomain (domain) values (‘xagloo.com’)
insert into TempEmailDomain (domain) values (‘xemaps.com’)
insert into TempEmailDomain (domain) values (‘xents.com’)
insert into TempEmailDomain (domain) values (‘xmaily.com’)
insert into TempEmailDomain (domain) values (‘xoxy.net’)
insert into TempEmailDomain (domain) values (‘yep.it’)
insert into TempEmailDomain (domain) values (‘yogamaven.com’)
insert into TempEmailDomain (domain) values (‘yopmail.com’)
insert into TempEmailDomain (domain) values (‘yopmail.fr’)
insert into TempEmailDomain (domain) values (‘yopmail.net’)
insert into TempEmailDomain (domain) values (‘ypmail.webarnak.fr.eu.org’)
insert into TempEmailDomain (domain) values (‘yuurok.com’)
insert into TempEmailDomain (domain) values (‘zehnminutenmail.de’)
insert into TempEmailDomain (domain) values (‘zippymail.info’)
insert into TempEmailDomain (domain) values (‘zoaxe.com’)
insert into TempEmailDomain (domain) values (‘zoemail.org’)

create proc sp_IsEmailTemporary
(
@email varchar(100)
)
as
select count(*) as IsTemp from TempEmailDomain where @email like ‘%@’ + domain

 

Categories: Uncategorized

#HPI Check #API – HPI Data via Xml / JSON

Screen Shot 2016-08-13 at 19.21.33

HPI or “Hire Purchase Inspection” (aka VDI) is  data that indicate if there is outstanding car finance on a vehicle. This is particularly important for people purchasing second hand cars – to know that the seller does not have a credit obligation to a car finance company, to which the car itself is collateral.

This data is under guarantee, and backed with a 40,000 GBP insurance policy, and it’s now available via an SOAP / XML based Restful API which also returns data in JSON format if required.

A sandbox environment is available for developers who do not wish to run billable queries, It’s a simple setup + pay as you go model, so that you can get up and running in no time.

Interested? head on over to RegCheck.org.uk – and read more.

Categories: Uncategorized

Call an #ASMX #WebService API using #NodeJS

images

Here’s a quick example showing how to use NodeJS to call an ASMX .NET webservice: – you need to replace the username with one from your account on RegCheck.org.uk

And you need to npm install xml2js

var http = require(‘http’);
var parseString = require(‘xml2js’).parseString; // npm install xml2js

function getHttp(host,path,callback) {

return http.get({
host: host,
path: path
}, function(response) {
// Continuously update stream with data
var body = ”;
response.on(‘data’, function(d) {
body += d;
});
response.on(‘end’, function() {
callback(body);
});
});
}
getHttp(“www.regcheck.org.uk”,”/api/reg.asmx/Check?RegistrationNumber=ukz2955&username=XXXXXXX”,function(data){
parseString(data,function(err,result){
var innerJson = result.Vehicle.vehicleJson;
var oInnerJson = JSON.parse(innerJson);
console.log(oInnerJson.Description);
});
});

Categories: Uncategorized

Verify car ownership API in #Belgium

Categories: Uncategorized

AvatarAPI.com – Get a name and profile pic from a #Gmail address

AvatarAPI

Do you find that your users never upload decent profile images?, and you end up with pages with lots of default silhouette icons in place of profile pics?, or perhaps you have a database with plenty of email addresses, but no name to put to them – so you end up sending out emails with “Dear Sir or Madam” instead of “Dear Mr James Smith” , this service at AvatarAPI.com allows you to use a simple API to solve those problems.

It’s easy to implement in either PHP, C#, or any other language that can make a HTTP request and parse XML.

HTTP useage

You can call this via any client capable of making a HTTP request, in it’s simplist form, you make a GET request as follows

http://www.avatarapi.com/avatar.asmx/GetProfile?email=peter.smith@gmail.com&username=xxxxx&password=xxxxx

(where xxxx is your username and password)

And you will receive XML as follows

 

<profile xmlns:xsd=”http://www.w3.org/2001/XMLSchema&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xmlns=”http://avatarapi.com/”&gt;

<Name>Peter Smith</Name>

<Image>

https://lh3.googleusercontent.com/-06yJmZ9VFKI/AAAAAAAAAAI/AAAAAAAAAAA/KHOss3osMJ4/s181-c/117841766777955842390.jpg

</Image>

<Valid>true</Valid>

</profile>

 

PHP implementation

You can call the webservice via PHP using code such as the following:

Replacing the xxxxx with your username and password.

 

<?php

$client = new SoapClient(“http://www.avatarapi.com/avatar.asmx?wsdl&#8221;);

$params = array (

   “email” => “john.reid@gmail.com”,

   “username” => “xxxxx”,

   “password” => “xxxxxx”

);

$response = $client->__soapCall(‘GetProfile’, array($params));

print_r($response);

?>

 

C# implementation

To use C# to call this API, you must first add a web service reference to your project by right clicking Add > Service Reference, and entering the url http://www.avatarapi.com/avatar.asmx

You can call the namespace “Avatar”, for the purposes of this example, then just add this code into a console app;

Replacing the xxxxx with your username and password.

 

var avatar = new avatarSoapClient();

var profile = avatar.GetProfile(“john.reid@gmail.com”, “xxxx”, “xxxx”);

Console.WriteLine(profile.Name);

Console.ReadLine();

 

Categories: Uncategorized

#Car registration #API for #Croatia

croatia

If your buisness sells cars or car parts in Croatia, then you can streamline the purchase process by allowing users enter a car number plate rather than selecting make / model / year etc.

With http://www.provjeraregistracije.com/ you can submit a Croatian car number plate via the API, and in return, get the make, model, VIN number and current insurer

Car registration plates in Croatia use the /CheckCroatia endpoint and return the following information:

  • Make / Model
  • VIN number
  • Insurer
  • Insurer website
  • Insurance number

 

Sample Json:

{“Description”:”ŠKODA FAVORIT, 136 L”,”CarMake”:{“CurrentTextValue”:”ŠKODA”},”CarModel”:{“CurrentTextValue”:” FAVORIT, 136 L”},”MakeDescription”:{“CurrentTextValue”:”ŠKODA”},”ModelDescription”:{“CurrentTextValue”:” FAVORIT, 136 L”},”VechileIdentificationNumber”:”TMBADA200M0268617″,”InsuranceCompany”:”CROATIA OSIGURANJE D.D.”,”InsuranceCompanyUrl”:”http://www.crosig.hr&#8221;,”InsuranceCompanyNumber”:”011610053583″}

Categories: Uncategorized

Paypal #IPN in C#- the basics.

ipn

After you get a payment from paypal, you can simply redirect the user back to your website in order to record the purchase in your database, but this has serious problems, one is that customers can often close their browser after payment so you don’t record the payment, or a cheeky customer might try bypassing paypal and go straight to your order processing “thank you” page, and might get your service for free.

Paypal IPN gets around both of these problems, one is that it doesn’t matter if the user closes the browser, it will get called anyway. Secondly, it can’t be called manually, since the IPN payload gets verified against Paypal, so that it can’t be faked.

What is Paypal IPN?

It’s simply the parameter notify_url is set to a url on your server, and you include this parameter in the /webscr url in the “buy now” button. This url gets called by Paypal’s servers. You add &cmd=_notify-validate to the post data, and post it back to paypal for validation. If paypal returns “VERIFIED” then you can provide whatever service you need to the customer. – There are some other security checks you can do here too, to make sure the user is paying in the expected currency, and the expected amount.

And here’s the code (Adapted from Paypal’s VB.NET version):

var param = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
var strRequest = Encoding.ASCII.GetString(param);
strRequest = strRequest + “&cmd=_notify-validate”;
var strLive = “https://www.paypal.com/cgi-bin/webscr&#8221;;
var req = (HttpWebRequest)WebRequest.Create(strLive);

//Set values for the request back
req.Method = “POST”;
req.ContentType = “application/x-www-form-urlencoded”;
req.ContentLength = strRequest.Length;

var streamOut = new StreamWriter(req.GetRequestStream(), Encoding.ASCII);
streamOut.Write(strRequest);
streamOut.Close();
var streamIn = new StreamReader(req.GetResponse().GetResponseStream());
var strResponse = streamIn.ReadToEnd();
streamIn.Close();

 

switch (strResponse)
{
case “VERIFIED”:
var ipn = Request.Form.AllKeys.ToDictionary(k => k, k => Request[k]);

//check the payment_status is Completed
//check that txn_id has not been previously processed
//check that receiver_email is your Primary PayPal email
//check that payment_amount/payment_currency are correct
//process payment
break;
case “INVALID”:
//log for manual investigation
break;
default:
//Response wasn’t VERIFIED or INVALID, log for manual investigation
break;
}

 

 

Categories: Uncategorized